天天看點

Java File類總結和FileUtils類 Java File類總結和FileUtils類

  建立出file類的對象并不代表該路徑下有此檔案或目錄。

  用public boolean

exists()可以判斷檔案是否存在。

  file類的對象可以是目錄或者檔案。

  如果是目錄,public boolean isdirectory()傳回true;

  如果是檔案(非目錄則是檔案),public boolean isfile()傳回true;

  但是注意需要先判斷檔案是否存在,如果檔案不存在,上面兩個方法都傳回false,即不存在的file類對象既不是檔案也不是目錄。

  public boolean

createnewfile()會建立一個新的空檔案,隻有該檔案不存在的時候會建立,如果檔案已經存在的話則傳回false。

  public boolean mkdir()

  建立目錄,成功傳回true。隻能建立一個檔案夾,要求所有的父目錄都存在,否則建立失敗。

  public boolean mkdirs()

  建立目錄,成功傳回true,會建立所有不存在的父目錄。(注意即便最後建立失敗,但是也可能建立了一些中間目錄)。

  上面兩個方法如果要建立的目錄已經存在,不再重新建立,都傳回false,隻有建立目錄傳回true。

  列出目錄中的檔案有以下方法可選:

  string[] list()

  string[] list(filenamefilter

filter)

  傳回檔案名數組。

  file[] listfiles()

  file[] listfiles(filefilter

  file[] listfiles(filenamefilter

  傳回file數組。

  參數是檔案或者檔案名過濾器。

  注意傳回為空和傳回為null的意義是不同的。

  若不包含(符合條件的)檔案,傳回為空。

  但是如果傳回為null,則表明調用方法的file對象可能不是一個目錄,或者發生了io錯誤。

  boolean delete()方法會删除檔案,如果file對象是檔案則直接删除,對于目錄來說,如果是空目錄則直接删除,非空目錄則無法删除,傳回false。

  如果要删除的檔案不能被删除則會抛出ioexception。

  注意:不論是建立檔案、建立目錄還是删除檔案,隻有在動作真正發生的時候會傳回true。

  在項目中寫一些工具類包裝通用操作是很有必要的,看了一下apache的fileutils類,copy了一些方法出來:

Java File類總結和FileUtils類 Java File類總結和FileUtils類
Java File類總結和FileUtils類 Java File類總結和FileUtils類

fileutils.java

  file類官方文檔:

  

  org.apache.commons.io.fileutils源碼:

  本部落格舊博文: