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

Java IO 基礎:高效讀寫文本文件完全指南

     編輯:Java 程式設計入門

Java IO 流與緩衝機制核心概念

Java 的輸入輸出操作全部建立在「流」的抽象之上。為了提升讀寫效率,實際開發中幾乎總是搭配緩衝流使用。無論是處理配置文件、日誌記錄,還是批量數據遷移,掌握 BufferedReader 與 BufferedWriter 的正確用法都是基本功。

實戰範例:逐行複製文本文件

下面展示一個完整的示例,將 1.txt 的內容逐行讀取並寫入 2.txt,並妥善處理資源關閉與異常捕獲:

import java.io.*;

public class ReadWriteFile {
    public static void main(String[] args) {
        File source = new File("c:\\1.txt");
        File target = new File("c:\\2.txt");

        try (BufferedReader br = new BufferedReader(new FileReader(source));
             BufferedWriter bw = new BufferedWriter(new FileWriter(target))) {

            String line;
            while ((line = br.readLine()) != null) {
                bw.write(line);
                bw.newLine(); // 跨平台換行,優於硬編碼 "\r\n"
            }
        } catch (FileNotFoundException e) {
            System.err.println("找不到指定文件:" + e.getMessage());
        } catch (IOException e) {
            System.err.println("讀寫過程發生錯誤:" + e.getMessage());
        }
    }
}

關鍵要點解析

  • try-with-resources:JDK 7 引入的語法糖,自動關閉實現 AutoCloseable 的資源,避免手動 close() 遺漏導致洩漏。
  • 跨平台換行:使用 bw.newLine() 而非硬編碼 "\r\n",確保在 Windows、Linux、macOS 上行尾符號正確。
  • 異常分層處理:分別捕獲 FileNotFoundException(文件不存在)與 IOException(其他 IO 錯誤),便於精準排查。

進階建議

若處理大文件,可考慮調大緩衝區大小(如 new BufferedReader(new FileReader(file), 64 * 1024)),或直接使用 NIO.2 的 Files.copy() 實現零拷貝,進一步提升吞吐量。

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