Java 檔案處理完全指南:建立、讀取、寫入和刪除檔案詳細解析

小万哥丶發表於2024-03-18

Java 檔案操作

檔案處理簡介

檔案處理是任何應用程式的重要部分。Java 提供了許多用於建立、讀取、更新和刪除檔案的方法。

Java 檔案處理

Java 中的檔案處理主要透過 java.io 包中的 File 類完成。該類允許我們處理檔案,包括建立、讀取、寫入和刪除檔案。

建立 File 物件

要使用 File 類,我們首先需要建立該類的物件,然後指定檔名或目錄名。

import java.io.File;

File myObj = new File("filename.txt");

File 類的常用方法

File 類提供了許多有用的方法,用於建立和獲取有關檔案的資訊,例如:

  • canRead(): 測試檔案是否可讀
  • canWrite(): 測試檔案是否可寫
  • createNewFile(): 建立一個空檔案
  • delete(): 刪除檔案
  • exists(): 測試檔案是否存在
  • getName(): 返回檔案的名稱
  • getAbsolutePath(): 返回檔案的絕對路徑名
  • length(): 返回檔案的大小(位元組為單位)
  • list(): 返回目錄中檔案的陣列
  • mkdir(): 建立一個目錄

讀取檔案

可以使用多種方法讀取檔案,例如 ScannerBufferedReaderFileInputStream 等。

使用 Scanner 類讀取檔案內容

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ReadFile {
  public static void main(String[] args) {
    try {
      File myObj = new File("filename.txt");
      Scanner myReader = new Scanner(myObj);
      while (myReader.hasNextLine()) {
        String data = myReader.nextLine();
        System.out.println(data);
      }
      myReader.close();
    } catch (FileNotFoundException e) {
      System.out.println("An error occurred.");
      e.printStackTrace();
    }
  }
}

寫入檔案

同樣,可以使用多種方法將資料寫入檔案,例如 PrintWriterBufferedWriterFileOutputStream 等。

使用 PrintWriter 類寫入檔案內容

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class WriteToFile {
  public static void main(String[] args) {
    try {
      PrintWriter myWriter = new PrintWriter("filename.txt");
      myWriter.write("Handling files in Java can be a bit tricky, but fun enough!");
      myWriter.close();
      System.out.println("Successfully wrote to the file.");
    } catch (FileNotFoundException e) {
      System.out.println("An error occurred.");
      e.printStackTrace();
    }
  }
}

刪除檔案

要刪除檔案,可以使用 delete() 方法。

示例

import java.io.File;

public class DeleteFile {
  public static void main(String[] args) {
    File myObj = new File("filename.txt");
    if (myObj.delete()) {
      System.out.println("Deleted the file: " + myObj.getName());
    } else {
      System.out.println("Failed to delete the file.");
    }
  }
}

刪除資料夾示例

import java.io.File;

public class DeleteFolder {
  public static void main(String[] args) {
    File myObj = new File("C:\\Users\\MyName\\Test");
    if (myObj.delete()) {
      System.out.println("Deleted the folder: " + myObj.getName());
    } else {
      System.out.println("Failed to delete the folder.");
    }
  }
}

刪除多個檔案或資料夾示例

import java.io.File;

public class DeleteMultipleFiles {
  public static void main(String[] args) {
    File dir = new File("C:\\Users\\MyName\\Test");
    File[] files = dir.listFiles();
    for (File file : files) {
      if (file.delete()) {
        System.out.println("Deleted: " + file.getName());
      } else {
        System.out.println("Failed to delete: " + file.getName());
      }
    }
  }
}

以上示例提供了一些基本的檔案操作方法,但在實際應用中,您可能需要更復雜的邏輯和錯誤處理。確保處理檔案操作時考慮到可能發生的異常,以提高程式的健壯性。

最後

為了方便其他裝置和平臺的小夥伴觀看往期文章:

微信公眾號搜尋:Let us Coding,關注後即可獲取最新文章推送

看完如果覺得有幫助,歡迎 點贊、收藏、關注

相關文章