FileInputStream fis = new FileInputStream(filePath);
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
// 處理每行
}
br.close(); // 關閉鏈會級聯關閉 fis、isr
BufferedReader 內部維護 8KB 緩衝區,大幅減少系統調用次數。InputStreamReader 顯式傳入 UTF-8,避免平台預設編碼不一致導致亂碼。try-with-resources (Java 7+) 自動關閉:try (BufferedReader br = new BufferedReader(
new InputStreamReader(new FileInputStream(file), "UTF-8"))) {
String line;
while ((line = br.readLine()) != null) { /* ... */ }
}
RandomAccessFile 或 MappedByteBuffer。FileInputStream → InputStreamReader → BufferedReader 三層包裝是 Android 文本文件讀取的標準高效模式,務必顯式指定編碼並妥善關閉資源。