JAVA學習筆記——File文件類

1.File類:表示文件和目錄路徑名的抽象表示形式
(1)構造方法
  File(String pathname):根據一個路徑得到File對象。
  File(String parent, String child):根據一個目錄和一個子文件/目錄得到File對象
  File(File parent, File child):根據一個父File文件和一個子File文件/目錄得到File對象

(2)功能方法
 A:創建功能:
  public boolean createNewFile():創建文件,如果存在該文件,則不創建並且返回false,如果創建成功返回true;如果父目錄不存在,則創建失敗返回false。
  public boolean mkdir():創建文件夾,如果存在該文件夾,則不創建並且返回false,如果創建成功返回true;如果父目錄不存在,則創建失敗返回false。
  public boolean mkdirs(): 創建文件夾,如果存在該文件夾,則不創建並且返回false,如果創建成功返回true;如果父目錄不存在,則直接創建父目錄返回true。
  
  注意:如果你創建文件或者文件夾時沒有加路徑,那麼此時就是默認路徑,默認在當前項目文件夾下。
  
 B:刪除功能
  public boolean delete():刪除一個文件或者文件夾,如果該文件夾下面有文件或者文件夾,則刪除失敗,返回false,刪除成功返回true。

 C:重命名功能
  public boolean renameTo(File dest):如果參數File對象的路徑和該File對象路徑一樣,則是改名,如果路徑不同,則是改名+剪貼。

 D:判斷功能
  public boolean isDirectory():判斷是否爲目錄
  public boolean isFile():判斷是否爲文件
  public boolean exists():判斷是否存在
  public boolean canRead():判斷是否可讀
  public boolean canWrite():判斷是否可寫
  public boolean isHidden():判斷是否隱藏

 E:獲取功能
  public boolean getAbsolutePath():獲取絕對路徑
  public boolean getPath():獲取相對路徑
  public boolean getName():獲取名稱
  public long length():獲取文件長度
  public long lastModified():獲取最後一次修改時間,毫秒值
  
  高級獲取功能
  public String[] list():獲取指定目錄下所有文件或者文件夾的名稱數組
  public File[] listFiles():獲取指定目錄下所有文件或者文件夾的File數組
 
 F:文件過濾器
  public String[] list(FilenameFilter filter):獲取指定目錄下指定的文件的名稱
  public File[] listFiles(FilenameFilter filter):獲取指定目錄下指定的文件。
  其中,FilenameFilter 是一個接口,因此可以知道filter肯定是FilenameFilter的一個實現類對象。
 具體用法如下:

//判斷H盤下是否有JPG文件,有的話輸出

        /*
         * 1   封裝H盤
         * 2 獲取目錄下所有File數組
         * 3 判斷是否是文件
         *      是:是否名字是以.JPG結尾
         *          是:獲取名字輸出
         *          否:無
         *      否:無
         */

        File file_H = new File("H:\\") ;
        File [] files = file_H.listFiles() ;
        //循環判斷
        for (File file : files) {
            if (file.getName().endsWith(".JPG")) {    //字符串中的方法 endsWith("XX"):判斷是否以XX爲結尾
                System.out.println(file.getName());
            }
        }

        /*優化:文件過濾器改進
         * 
         * 1.封裝H盤
         * 2。判斷是否有以。JPG結尾的文件
         *          是:獲取輸出
         *          否:無
         */
        File file = new File("H:\\") ;
        String[] strFile = file.list(new FilenameFilter() {

            public boolean accept(File arg0, String arg1) {
                // 只有這邊判斷爲真的時候文件名纔會放進list中
                //System.out.println(arg0+"---"+arg1);  //輸出H:\---迅雷下載 ,可見arg0是文件路徑,arg1是文件名
                return arg0.isFile() && arg1.endsWith(".JPG");
            }
        });

        for (String string : strFile) {
            System.out.println(string);
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章