2015-05-25 78 views
-1

如何讀取Java中的非字母數字字符(如中文字符)?我試圖從.properties文件中讀取一個值,但輸出中出現了破碎的字符。如何讀取非字母數字字符

filename = some method returning the file in Chinese 

response.setProperty("Content-disposition", "attachment; filename=\"" + fileName +"\""); 
response.setContentType("text/xlscharset=UTF-8"); 
response.setCharacterEncoding("utf-8"); 
+0

把你有問題的嘗試。 – weston

+0

編輯問題謝謝。評論中的代碼看起來不可讀。也包括設置文件的一部分。 – weston

回答

0

不知道,你如何閱讀文件。我建議你使用BufferedReader讀取文件,這是如下,

BufferedReader br = new BufferedReader(new InputStreamReader(
       new FileInputStream("myFilePath"),"UTF8")); 

上面這段代碼將處理中國文字。現在,你的車使用br來處理你的財產文件。如果你的文件是UTF-16,用UTF-16代替UTF8編碼,它應該爲你做這項工作。

+0

在我的場景中,文件名本身包含中文字符。因此,在文件路徑中使用該名稱時,它不會識別該文件。如果我在後臺打印文件名,我會在控制檯中破壞字符。 – JavaLearner

+0

您可以使用http://stackoverflow.com/questions/1844688/read-all-files-in-a-folder中給出的方法獲取文件名,然後將文件名傳遞給'BufferedReader'。 – Abhishek

+0

我的java字符串包含中文字符。當我打印它顯示破碎的字符。我想讓我的字符串包含中文字符。那可能嗎? – JavaLearner