gpt4 book ai didi

java - StringEscapeUtils.unescapeHtml 不适用于从文件读取的字符串

转载 作者:行者123 更新时间:2023-12-01 23:49:00 26 4
gpt4 key购买 nike

我正在尝试读取包含 unicode 字符的文件,将这些字符转换为其相应的符号,然后将生成的文本打印到新文件中。我正在尝试使用 StringEscapeUtils.unescapeHtml 来执行此操作,但这些行只是按原样打印,unicode 点仍然完好无损。我进行了一次练习,从文件中复制一行,从中创建一个字符串,然后对其调用 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());
}
}
}

最佳答案

//This gives the desired output,
//with unicode points converted
out.write(StringEscapeUtils.unescapeHtml3(testString) + "\n");

你错了。当 Java 将这种形式的字符串文字构建到类文件中时,它会在编译时对其进行转义:

"\u2018Libations\u2019"

没有HTML 3这段代码中的转义。您选择的方法旨在对 形式的转义序列进行转义。

您可能想要 unescapeJava方法。

关于java - StringEscapeUtils.unescapeHtml 不适用于从文件读取的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16550821/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com