處理大型日誌或資料檔時,常需過濾掉空白行以節省空間或利於後續解析。
import java.io.*;
public class RemoveBlankLines {
public static void main(String[] args) {
String inputPath = "file1";
String outputPath = "file2";
try (BufferedReader br = new BufferedReader(
new InputStreamReader(new BufferedInputStream(new FileInputStream(inputPath)), "UTF-8");
FileWriter fw = new FileWriter(outputPath)) {
String line;
int count = 0;
while ((line = br.readLine()) != null) {
if (!line.isEmpty()) {
fw.write(line + "\n");
System.out.println(++count);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
try-with-resources 自動關閉流,避免資源洩漏。UTF-8 編碼讀取,防止中文亂碼。line.isEmpty() 判斷空白行,若需保留含空白字元的行可改用 line.trim().isEmpty()。