我正在使用「FileInputStream」和「FileReader」從包含unicode字符的文件中讀取數據。閱讀Java中的Unicode字符
當我設置爲「cp-1252」的默認編碼都讀取垃圾數據,當我設置默認編碼爲UTF-8都讀得很好。
- 這是真的,這兩個這些使用系統默認編碼來讀取數據?
- 那麼,如果依賴於系統編碼,那麼使用字符流有什麼好處。
是否有除了任何方式:
BufferedReader fis = new BufferedReader(new InputStreamReader(new FileInputStream("some unicode file"),"UTF-8"));
正確地讀取數據時,默認的編碼比UTF-8等。
爲什麼手動設置編碼對你來說是不好的選擇? –
@ Aleksander Gralak我們可以隨時做,我想知道如何以編程方式做到這一點,即使默認編碼不同。 –
但你正在編程。它是硬編碼的,但它在源代碼中。如果你想在運行時做到這一點,那麼從某種屬性獲取字符串。對不起,我只是不明白你在這裏遇到了什麼問題。 –