各位好,我有一個java程式會抓一個TXT檔裡面的文字去作其他動作,但是抓到中文就會變成亂碼,請問我應該怎麼處理?
謝謝
java版本:1.8.0_333
String str;
FileReader fr=new FileReader("C:\\TEST\\MYTEXT.TXT");
BufferedReader bfr=new BufferedReader(fr);
while((str=bfr.readLine())!=null)
{
byte[] byteGBK = null;
System.out.println(" 搜尋字串為" + str);
}
fr.close();
更 自己找到了 .. 改這樣就可以了
String str;
InputStreamReader read = new InputStreamReader(new FileInputStream(new File(MYTEXT21)));
BufferedReader bfr=new BufferedReader(read);
while((str=bfr.readLine())!=null)
{
byte[] byteGBK = null;
System.out.println(" 搜尋字串為" + str);
}
fr.close();
正常來說,一般WINDOWS的TXT文件。如果是用記事本之類的建立。
其預設會是 BIG5 碼。
而現今大多數的網頁或是程式,都運行在UTF8碼。
所以你需要做編碼處理。
但現在其實還有個頭痛的問題。就是並非只要是TXT就一定是BIG5碼。
所以正常來說,你最好先做文件編碼的判斷。再決定需不需要轉碼文字處理