在讀取檔案時,使用InputStreamReader 指定編碼格式避免中文亂碼
@Test
public void txtTest() {
File file = new File("D:\\images\\imobile冠晨達專賣店\\鋼化膜-11\\鋼化膜\\1+8t\\銷售屬性.txt");
try (FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis, "gbk");
BufferedReader br = new BufferedReader(isr)) {
String str;
while ((str = br.readLine()) != null) {
System.out.println("str = " + str);
}
} catch (IOException e) {
e.printStackTrace();
}
File file2 = new File("D:\\images\\imobile冠晨達專賣店\\鋼化膜-11\\鋼化膜\\1+8t\\銷售屬性.txt");
try (FileReader reader2 = new FileReader(file2);
BufferedReader br2 = new BufferedReader(reader2)) {
String str2;
while ((str2 = br2.readLine()) != null) {
System.out.println("str2 = " + str2);
}
} catch (IOException e) {
e.printStackTrace();
}
}
代碼運作效果如下圖
如果在設定編碼格式後還是出現檔案亂碼,檢查一下檔案編碼格式是不是于設定的不一緻。如果不一緻的情況可以将檔案另存為指定編碼格式,檔案另存為操作如下