gpt4 book ai didi

java - dis.readchar 中文字母 - 错误解释的字符!

转载 作者:太空宇宙 更新时间:2023-11-04 08:46:02 25 4
gpt4 key购买 nike

我想将文件读入字符数组列表。起初我认为这可能是一个非常巧妙的方法:

ArrayList<Character> char_chain = new ArrayList<Character>();


try {
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
dis = new DataInputStream(bis);

while (dis.available() != 0) {
// UTF8 unnoetig, da 26 Lettern
while (!EOF) {
try {
char_chain.add(dis.readChar());
} catch (EOFException e) {
EOF = true;
}
}
}
if (debug) {
while (char_chain.get(i) instanceof Character) {
System.out.println(char_chain.get(i++));
}
}

如果我这样做,我会得到中文字母:





有人能告诉我这是为什么吗? :) 我应该提到的是,文本包含常规大写字母,例如:ABCDE 等。

最佳答案

DataInputStream.readChar() 假定您正在读取 UTF-16 字符。

要读取字符数据,请使用具有正确编码的 InputStreamReader(如果文件仅包含基本拉丁字母,“US-ASCII”就足够了)。

关于java - dis.readchar 中文字母 - 错误解释的字符!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4329908/

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