首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java IO 系統核心:File 類別完整操作指南

     編輯:Java 程式設計入門

認識 File 類別:不只是檔案

Java 中的 java.io.File 類別雖名為「檔案」,實際上同時代表「檔案」與「目錄」。API 文件以抽象路徑名稱(abstract pathname)描述其本質——目錄本質上也是特殊型態的檔案。File 類別提供跨平台的檔案系統操作抽象層,但路徑表示仍與作業系統相關(Unix 用 / 表根目錄,Windows 用磁碟代號如 C:\)。

四種建構子與路徑處理

File(String parent, String child)      // 父目錄路徑 + 子路徑
File(File parent, String child)        // 父目錄 File 物件 + 子路徑
File(URI uri)                          // URI 統一資源識別元
File(String pathname)                  // 完整路徑字串(絕對或相對)

相對路徑以當前工作目錄為基準;絕對路徑在 Unix 以 / 開頭,Windows 以磁碟代號開頭。

核心操作方法速查

方法功能回傳值
exists()檢查檔案/目錄是否存在boolean
createNewFile()建立新檔案(不存在時)boolean
mkdir()建立單層目錄boolean
mkdirs()建立多層目錄(含父目錄)boolean
list()列舉目錄下檔案名稱String[]
isDirectory()判斷是否為目錄boolean
getParent()取得父目錄路徑String
getName()取得檔案/目錄名稱String
getAbsoluteFile()取得絕對路徑 File 物件File

實戰範例:建立目錄結構與列舉檔案

import java.io.*;
public class TestFile {
    public static void main(String[] args) throws IOException {
        // 1. 建立根目錄 hehe
        File file = new File("hehe");
        if (!file.exists()) file.mkdir();

        // 2. 在 hehe 下建立多層目錄 ming\hehe
        File nextFile = new File(file, "ming\\hehe");
        if (!nextFile.exists()) nextFile.mkdirs(); // 必須用 mkdirs()

        System.out.println(nextFile.getParent()); // 輸出:hehe\ming

        // 3. 在多層目錄下建立檔案並列舉
        if (nextFile.isDirectory()) {
            File newFile = new File(nextFile, "ming.txt");
            if (!newFile.exists()) {
                newFile.createNewFile();
                System.out.println(newFile.getName());       // ming.txt
                System.out.println(newFile.getAbsoluteFile()); // 絕對路徑
            }

            // 批次建立 ming0.txt ~ ming4.txt
            for (int i = 0; i < 5; i++) {
                File listFile = new File(nextFile, "ming" + i + ".txt");
                if (!listFile.exists()) listFile.createNewFile();
            }

            // 列舉目錄內容
            String[] list = nextFile.list();
            for (String name : list) System.out.println(name);
        }
    }
}

執行結果

hehe\ming
ming.txt
ming0.txt
ming1.txt
ming2.txt
ming3.txt
ming4.txt

關鍵提醒

  • 路徑分隔字元在 Java 字串中需轉義:\\ 代表單一反斜線
  • 建立多層目錄務必使用 mkdirs() 而非 mkdir()
  • 檔案操作拋出 IOException,需 try-catch 或 throws 處理
  • 善用 File.separator 取得平台相關分隔字元,增強跨平台相容性

File 類別是 Java IO 系統的入口掌握其操作,後續輸入輸出串流、檔案讀寫才能得心應手。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved