gpt4 book ai didi

java - 读入的文本与指定的文本不同

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

我有一个应该很简单的问题。我一定错过了一些基本的东西。我创建了一个字符串可视化。

String text = "\u0391\u039A\u03C1\u1F83\uA978\u0370\u03D8\u03C0";

如果我使用它作为具有默认字体的 JLabel 的参数,它会按照我的意愿打印希腊字符。

但是,如果我将相同的字符串(当然不带引号)放入文本文件中并读取该行并将该行分配给 JLabel,我会得到“未解释的”字符串。它看起来就像在文件中一样。我尝试过使用不同的编码来读取文件,如 ISO-8859-1、UTF-8、UTF-16 等,但无济于事。

如何使读入的文本与指定的文本片段一样?

尝试

String text = "\u0391\u039A\u03C1\u1F83\uA978\u0370\u03D8\u03C0";
System.out.println( "As ascii text = " + text );

String label = new String( readLabel( directory + File.separator
+ "testReadLabel.txt" ) );
System.out.println( "As ascii label = " + label );

当testReadLabel.txt包含上述文本且读取为标准时

BufferedReader br = new BufferedReader( new InputStreamReader(
new FileInputStream( fileName ), "ISO-8859-1" ) );

return br.readLine();

最佳答案

从文件中读取字符串后,必须先对字符串进行转义。你可以例如使用StringEscapeUtils来自Apache Commons为此:

String label = StringEscapeUtils.unescapeJava(stringFromFile);

关于java - 读入的文本与指定的文本不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27988692/

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