gpt4 book ai didi

java - 文件中已写入异常字符

转载 作者:行者123 更新时间:2023-12-02 04:30:31 25 4
gpt4 key购买 nike

private static void write(String x, File file)
throws FileNotFoundException, IOException {
StringTokenizer tokenizer = new StringTokenizer(x) ;
FileOutputStream fop = new FileOutputStream(file, true);
while (tokenizer.hasMoreTokens()) {
fop.write(tokenizer.nextToken().toLowerCase().getBytes());
fop.write(System.getProperty("line.separator").getBytes());
}
}

对于上面的代码,我在代码中调用这个函数来在某些条件满足时写一些单词。但是,有时我会遇到一些奇怪的字符,例如 等。如何防止此类事情出现?

最佳答案

为了在文件中存储“字符”,您必须将它们转换为字节序列。您可以直接使用 getBytes(),也可以使用流编写器来为您执行此操作。

不幸的是,有许多不同的方式来表示重音字符和原始 ASCII 集之外的其他字符。代码中的 getBytes() 根据系统默认编码返回一种此类表示形式。

当您看到奇怪的字符时,并不是文件有问题,而是您正在使用不同的编码读取文件。

您需要知道要在输出中查找什么编码,然后您可以告诉 getBytes() 生成该编码。例如:

fop.write(tokenizer.nextToken().toLowerCase().getBytes("Windows-1252"));

关于java - 文件中已写入异常字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31542861/

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