文件:信息的一種組織形式,是存儲在外部存儲介質上的具有標識名的一組相關信息集合
文件具有保存性,其內容可以被長期保存和使用
文件管理:操作系統不可或缺的重要功能。操作系統的文件系統負責存取和管理文件
能使用txt文本打開的文件,稱爲文本文件
目錄:文件系統組織和管理文件的基本單位,目錄中保存它所管理的每個文件的基本屬性 信息
文件目錄項: 包括文件名字、文件所有者、文件長度、文件類型、文件保護級別、文件控制屬性、文件創建時間、最後修改時間等文件屬性
文件全名:文件的路徑名和文件名組成,區分文件的唯一標識
目錄分隔符----此分隔符跨平臺使用
File.separator
判斷方法
例子:
public class TestFile {
public static void main(String[] args) throws IOException {
String path ="E:"+File.separator+"vedio"
+File.separator+"test"+File.separator+"a.txt";
//File.separator== \\
System.out.println("絕對路徑:"+path);
File f = new File(path);
//getPath() 將此抽象路徑名轉換爲一個路徑名字符串
System.out.println("抽象路徑-路徑名字"+f.getPath());//E:\vedio\test\a.txt
System.out.println("-------------------");
System.out.println("f====ff");
File file=new File("E:\\vedio\\test\\demo.txt");
System.out.println(file);
File ff = new File("E:\\vedio\\test","demo.txt");
System.out.println(ff);
System.out.println("…………………………………………………………………………………………");
File files=new File("E:\\vedio\\test\\aa\\demo.txt");
//判斷有沒有這個路徑 有返回 沒有創建返回
if(f.getParentFile().exists())
{
// getParentFile() 返回此抽象路徑名父目錄的抽象路徑名;
// .exists()) 測試此抽象路徑名錶示的文件或目錄是否存在。
f.createNewFile();
}
else {
//mkdirs()創建此抽象路徑名指定的目錄。
f.getParentFile().mkdirs();
f.createNewFile();//在指定目錄中創建一個新的空文件
}
createFile();
createDir();
removeFile();
System.out.println("…………………………………………………………………………………………");
getFileInfo();
System.out.println("…………………………………………………………………………………………");
testListRoot();
System.out.println("…………………………………………………………………………………………");
System.out.println("…………………………………………………………………………………………");
printFile(f);
}
//創建一個文件
static void createFile(){
File f = new File("E:\\vedio\\test\\demo.txt");
if(!f.exists()) {//判斷文件是否存在
try {
f.createNewFile();// 沒有就創建空文件
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//創建目錄
static void createDir()
{
File f = new File("E:\\vedio\\test1");
if(!f.exists())
{ //判斷文件是否存在 沒有就創建
f.mkdirs(); //創建一個目錄
}
}
//刪除文件
static void removeFile() {
File f = new File("E:\\vedio\\test\\demo.txt");
if(f.exists()){
f.delete();
}
//f.deleteOnExit(); //虛擬機退出 ,就刪除文件
}
static void getFileInfo(){
File f = new File("E:\\vedio\\test\\demo.txt");
System.out.println("文件名:"+f.getName());
System.out.println("文件絕對路徑:"+f.getPath());
System.out.println("文件上一"+f.getParent());
System.out.println(f.length());
}
//爲了測驗private static void printFile(File f) 註銷
static void testListRoot(){
/*File[] files = File.listRoots();
//listRoots 列出可用的文件系統根。 放在File[]數組裏
for(File f :files){
System.out.println(f.getAbsolutePath());
}//getAbsolutePath()返回此抽象路徑名的絕對路徑名字符串。
*/
File f = new File("E:\\vedio\\test");
/*File[] fs = f.listFiles();
for(File ff :fs){
System.out.println(ff.getName());
}// E:\\vedio\\test 這個路徑裏的文件
*/
printFile(f);
}
private static void printFile(File f){
if(f.exists()){
if(!f.isDirectory()){
//.isDirectory()
//測試此抽象路徑名錶示的文件是否是一個目錄。
System.out.println(f.getName());
}else {
System.out.println(f.getName());
File[] fs = f.listFiles();
for(File ff :fs){
printFile(ff);
}
}
}
}
}