1. 程式人生 > >JAVA基礎之檔案(File)

JAVA基礎之檔案(File)

File類

  • 構造:
    public class File
    extends Object
    implements Serializable, Comparable
    File類就是檔案和目錄路徑名的抽象表示形式。
    通過將給定路徑名字串轉換為抽象路徑名來建立一個新 File 例項,也就是說她可以封裝檔案或目錄,將檔案變為一個可操作物件;用這個我們可以獲取它的路徑或者看檔案大小等一系列操作;

比如我們可以封裝一個任意型別的檔案
File file = new File(“E:\mm.mp3”);
我們將一個E:p盤下的mm.mp3封裝起來,封裝為物件file,然後對他進行操作;
File file = new File(“D:\IObit”)


或者封裝一個資料夾;
我們將它封裝起來了,下面我們來看看File有什麼好用的方法讓我們對他進行操作;
在這裡插入圖片描述
上面是一些對檔案的增刪,重新命名等基本操作,下面我們來看看一些更常用的高階操作;
在這裡插入圖片描述

  • 綜合應用
    上面我們說了那麼多的操作,那我們組合起來就可以完成一些特定的功能,比如篩選特定檔案,批量刪除檔案,批量修改檔名;

  • 篩選特定檔案

public static void main(String[] args) {
        //封裝此目錄
        File file = new File("C:\...\部落格元素");
        //獲取此目錄下所有的檔案和資料夾
File[] files = file.listFiles(); //遍歷陣列進行判斷 for (File file1 : files) { if(file1.isFile()&&file1.getName().endsWith(".png")){ System.out.println(file1.getName()); } } }

我們需求是獲取 C:…\部落格元素 路徑下所有的png檔案;
在這裡插入圖片描述

  • 批量刪除多級檔案
public static void main(String[] args) {
        //刪掉資料夾
        File file = new File("E:\\testUploadImage");
        deleteFolder(file);
    }

    //遞迴刪除多級資料夾
    private static void deleteFolder(File file) {
        File[] files = file.listFiles();
        for (File f : files) {
            if (f.isFile()) {
                //如果是檔案就直接刪除
                f.delete();
            } else {
                //如果是資料夾就遞迴呼叫
                deleteFolder(f);
            }
        }
        //刪除空目錄
        file.delete();
    }