Java IO學習--File類
一、File類
File類具備一定的誤導性,可能容易認為它指代的是文件,實際並非如此,它既能代表一個特定文件的名稱,又能表示一個目錄下一組文件的名稱。簡而言之,File類是文件或者目錄路徑名的抽象表示,可以幫助我們處理文件目錄的問題。
註意:File類只能操作文件的屬性,文件的內容它是無法操作的,需要借助流才能操作。
二、File類的使用
1 public class FileDemo { 2 3 public static void main(String[] args) { 4 5 File file2 = new File("E:\\test\\a.txt");//特別需要註意,這樣的路徑形式在windows下有效 6 7 File file3 = new File("E:\\test");//通過路徑構建File 8 9 File file4 = new File("E:","test");//從父類路徑和子類路徑名構建File 10 11 File file5 = new File(file3,"a.txt");//從父類File和子類路徑名構建File 12 13 System.out.println(file2); 14System.out.println(file3); 15 System.out.println(file4); 16 System.out.println(file5); 17 System.out.println(File.separator);//連續多個路徑字符串的分隔符 18 System.out.println(File.pathSeparator);//分隔同一個路徑字符串中的目錄的 19 File[] files = File.listRoots(); 20 for (File file : files) {21 System.out.println(file); 22 } 23 24 } 25 26 }
結果輸出:
E:\test\a.txt
E:\test
E:\test
E:\test\a.txt
;
C:D:E:F:\
三、File類常用方法
①、創建方法
1.boolean createNewFile() 根絕給定的path創建文件,不存在返回true 存在返回false
2.boolean mkdir() 創建目錄,如果上一級目錄不存在,則會創建失敗
3.boolean mkdirs() 創建多級目錄,如果上一級目錄不存在也會自動創建
②、刪除方法
1.boolean delete() 刪除文件或目錄,如果表示目錄,則目錄下必須為空才能刪除
2.boolean deleteOnExit() 文件使用完成後刪除
③、判斷方法
1.boolean canExecute()判斷文件是否可執行
2.boolean canRead()判斷文件是否可讀
3.boolean canWrite() 判斷文件是否可寫
4.boolean exists() 判斷文件或目錄是否存在
5.boolean isDirectory() 判斷此路徑是否為一個目錄
6.boolean isFile() 判斷是否為一個文件
7.boolean isHidden() 判斷是否為隱藏文件
8.boolean isAbsolute()判斷是否是絕對路徑 文件不存在也能判斷
④、獲取方法
1.String getName() 獲取此路徑表示的文件或目錄名稱
2.String getPath() 將此路徑名轉換為路徑名字符串
3.String getAbsolutePath() 返回此抽象路徑名的絕對形式
4.String getParent()//如果沒有父目錄返回null
5.long lastModified()//獲取最後一次修改的時間
6.long length() 返回由此抽象路徑名表示的文件的長度。
7.boolean renameTo(File f) 重命名由此抽象路徑名表示的文件。
8.File[] liseRoots()//獲取機器盤符
9.String[] list() 返回一個字符串數組,命名由此抽象路徑名表示的目錄中的文件和目錄。
10.String[] list(FilenameFilter filter) 返回一個字符串數組,命名由此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。
具體的使用如下(挑選幾個常用的):
1 public class FileDemo2 { 2 3 public static void main(String[] args) { 4 5 File file = new File("E:\\test.txt"); 6 try { 7 //創建文件 8 System.out.println(file.exists());//判斷文件是否存在 9 System.out.println(file.createNewFile());//創建文件,空文件,大小為0 10 System.out.println(file.exists());//判斷文件是否存在 11 //獲取文件相關屬性 12 System.out.println(file.length());//文件大小 13 System.out.println(new Date(file.lastModified()));//文件最後修改時間 14 System.out.println(file.getName());//獲取文件名 15 System.out.println(file.getPath());//獲取文件路徑 16 System.out.println(file.getAbsolutePath());//獲取絕對路徑 17 System.out.println(file.getParent());//獲取父路徑 18 System.out.println(file.getParentFile());//獲取父File 19 20 //判斷文件的相關特點 21 System.out.println(file.canExecute());//能否執行 22 System.out.println(file.canRead());//能否讀寫 23 System.out.println(file.canWrite());//能否讀寫 24 System.out.println(file.isFile());//是否是文件 25 System.out.println(file.isHidden());//是否是隱藏文件 26 } catch (Exception e) { 27 e.printStackTrace(); 28 } 29 30 31 } 32 33 }
結果輸出:
false true true 0 Tue Jul 10 21:47:32 CST 2018 test.txt E:\test.txt E:\test.txt E:E:true true true true false
Java IO學習--File類