閱讀290 返回首頁    go 阿裏雲 go 技術社區[雲棲]


IO學習筆記(三)

13.  File 類

它既能代表一個文件的名稱,又能代表一個目錄下一組文件的名稱。常用於對文件或文件夾的操作。

File對象也可以作為參數傳遞給流的構造函數。

File(File parent,String child)   根據 parent 抽象路徑名和 child 路徑名字符串創建一個新File 實例

File(String pathname)    通過將給定路徑名字符串轉換為抽象路徑名來創建一個新File 實例。

File(String parent,String child)   根據 parent 路徑名字符串和 child 路徑名字符串創建一個新File 實例。

File  file = new File("c:\\abc\\a.txt");-------File  file = new File("c:"+ File.separator +"abc"+ File.separator +"a.txt");  //比較通用

File  file = new File("c:\\abc","a.txt");

File f = new File("D:\\abc");

File file = new File(f,"a.txt");--------------這一構造的執行,並沒有真正的創建了一個文件或文件夾。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

createNewFile()  當且僅當不存在具有此抽象路徑名指定名稱的文件時,不可分地創建一個新的空文件

File  file = new File("c:\\abc\\a.txt");

System.out.print(file.createNewFile());------------如果c:\\abc\\a.txt路徑下的文件不存在,那麼會返回true,如果已經存在或者創建失敗,那麼會返回false

boolean delete()  刪除此抽象路徑名表示的文件或目錄

void deleteOnExit()  在虛擬機終止時,請求刪除此抽象路徑名表示的文件或目錄-----在操作結束退出時刪除

當我們創建一個文件,並且對這個文件進行操作,如果這一過程中出現異常,那麼程序將終止,我們的delete()方法將不會被執行。

但是我們一定要刪除這個文件,這時候就要使用deleteOnExit()方法,表示在程序對文件操作結束後,執行次命令,將文件刪除。

File  file = new File("c:\\abc\\a.txt");

file.deleteOnExit();

code(對文件內容進行操作);

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

boolean isDirectory() 測試此抽象路徑名表示的文件是否是一個目錄。 

boolean isFile() 測試此抽象路徑名表示的文件是否是一個標準文件。 

booleanisHidden() 測試此抽象路徑名指定的文件是否是一個隱藏文件

File  file = new File("c:\\abc\\a.txt");

System.out.print(file.isDirectory()); -------false

System.out.print(file.isFile());          -------false

分析:因為File  file = new File("c:\\abc\\a.txt");這條語句是不創建文件或目錄的,所以兩種判斷都為false,那麼我們在執行這兩種判斷時,

有必要先進行判斷對應的文件是否存在,如果不存在的話則沒必要進行後續判斷。

boolean exists()   測試此抽象路徑名表示的文件或目錄是否存在

boolean mkdir()   創建此抽象路徑名指定的目錄-----------------隻能在現有目錄的基礎上創建一個級別的目錄

boolean mkdirs()    創建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄------------可以創建多級目錄

boolean  isAbsolute() 測試此抽象路徑名是否為絕對路徑名------無論文件是否存在,隻要是絕對路徑該方法就會返回true。否則返回false

……………………………………………………………………………………………………………………………………………………………

 String  getPath()   將此抽象路徑名轉換為一個路徑名字符串

 String getAbsolutePath()  返回此抽象路徑名的絕對路徑名字符串

File  file = new File(當這裏是一個絕對路徑的時候,上述兩方法返回值相同);

 File  getAbsoluteFile()  返回此抽象路徑名的絕對路徑名形式。

 String  getParent()    返回此抽象路徑名父目錄的路徑名字符串;如果此路徑名沒有指定父目錄,則返回null

File file = new File("D:\\IO\\abc.txt");
System.out.println("---:"+ file.getAbsoluteFile());                ---:D:\IO\abc.txt
System.out.println("---:"+file.getParent());                       
---:D:\IO
File file2 = new File("ac.txt");  
System.out.println("^^^:"+ file2.getAbsoluteFile());               ^^^:D:\IO\ac.txt
System.out.println("^^^:"+file2.getParent());                      ^^^:null

System.out.println("---:"+file.getPath());                                                                ---:D:\IO\abc.txt

System.out.println("---:"+file2.getPath());                                                              ---:ac.txt

*************************************************************************************************************************





最後更新:2017-04-02 15:15:24

  上一篇:go 失控的騰訊開始自救
  下一篇:go 中國市場唿喚高手的戰爭