我試圖讀取包含unicode字符的文件,將這些字符轉換爲其相應的符號,然後將結果文本打印到新文件中。我正在嘗試使用StringEscapeUtils.unescapeHtml來完成此操作,但這些行只是按原樣打印的,unicode點仍然完好無損。我做了一個練習,從文件中複製一行,從中創建一個字符串,然後調用StringEscapeUtils.unescapeHtml,這非常完美。我的代碼如下:StringEscapeUtils.unescapeHtml對從文件中讀取的字符串不起作用
class FileWrite
{
public static void main(String args[])
{
try{
String testString = " \"text\":\"Dude With Knit Hat At Party Calls Beer \u2018Libations\u2019 http://t.co/rop8NSnRFu\" ";
FileReader instream = new FileReader("Home Timeline.txt");
BufferedReader b = new BufferedReader(instream);
FileWriter fstream = new FileWriter("out.txt");
BufferedWriter out = new BufferedWriter(fstream);
out.write(StringEscapeUtils.unescapeHtml3(testString) + "\n");//This gives the desired output,
//with unicode points converted
String line = b.readLine().toString();
while(line != null){
out.write(StringEscapeUtils.unescapeHtml3(line) + "\n");
line = b.readLine();
}
//Close the output streams
b.close();
out.close();
}
catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
}
你完全正確。太感謝了。 –
這對我有用。謝謝。你節省了我的時間 – Shailesh