2012-12-14 259 views
-1

我正在嘗試使用Java讀取文件以及也包含特殊字符的文件。 我正在嘗試將文件的內容寫入另一個文件。從文件中讀取特殊符號

什麼是讀特殊字符文件的解決方案?在UTF-8

+2

你是什麼意思的特殊字符? –

+0

文件的編碼是什麼? – jlordo

+0

特殊字符喜歡 - 和「和文件正在使用UTF8編碼風格 –

回答

0

你需要找出文件所使用的精確編碼,然後指定在InputStreamReader參數。

儘管如此,它往往是最好的讀者字符數據用的InputStreamReader到Reader或BufferedReader中

BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(your file), "UTF-8")); 

編輯點評包裹你的InputStream:
FileReader使用Java的平臺默認的編碼,這取決於在其上運行的計算機的系統設置上。

不幸的是FileReader不允許設置編碼。相反,您必須使用Above代碼來獲取您的文件所需的編碼。

+0

You是對的。但這有點偏離主題。問題是關於編碼而不是效率。 –

+0

@AleksanderGralak謝謝你提醒我。 :) –

+0

我已經檢查過使用UTF8編碼標準的文件,但它沒有讀取特殊字符 –

3

編碼文件和使用Java編碼知道流運營商:

new InputStreamReader(new FileInputStream(file), "UTF-8") 
+0

如果文件沒有UTF-8編碼該怎麼辦? – Behnil

+0

其他「頻繁」編碼將是Windows Latin-1,「Windows-1252」 –

+1

@Joop Eggen然後按照此步驟http://stackoverflow.com/questions/499010/java-how-to-determine-the-correct -charset-encoding-of-a-stream –

相關問題