1. 程式人生 > >Java IO學習--File類

Java IO學習--File類

tac window last direct reat 可執行 ktr 過濾 div

一、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); 14
System.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類