gpt4 book ai didi

java - 读/写导致奇怪的字符

转载 作者:行者123 更新时间:2023-12-04 05:31:00 26 4
gpt4 key购买 nike

我编写了一些简单的 Java 代码来从文本文件中读取字符串,将它们组合起来,然后将它们写回。 (有关输出没有变化的简化版本,请参见下面的片段)

问题是输入文件和输出文件中的特定字符(- 和 ...)是不同的。破折号和省略号在输出文件中显示为特殊的、不可读的字符。我不打算改变它们,我认为我应该使用一些特殊的编码来避免这种情况。

我在 Windows 下运行。奇怪的字符出现在多个编辑器(记事本、写字板和 Word)中,代替了破折号和省略号。

BufferedReader inFile = new BufferedReader(new FileReader("in.txt"));
PrintWriter out = new PrintWriter(new FileWriter("out.txt"));
String line;
while ((line=inFile.readLine()) != null)
{
out.println(line);
}

最佳答案

修订

您的输入位于 ANSI windows-1252
所以这应该可以解决问题:

public static void main(String[] args) throws Exception {

File f = new File("in.txt");
FileInputStream stream = new FileInputStream(f);
BufferedReader reader = new BufferedReader(new InputStreamReader(stream, Charset.forName("windows-1252")));
String x;
BufferedWriter writer = new BufferedWriter(new FileWriter(new File("testing.txt")));

while((x = reader.readLine()) != null) {
writer.write(x);
writer.newLine();
}

writer.close();
}

关于java - 读/写导致奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12631862/

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