InputStreamReader没有读取čžš字符

Kle*_*šek 0 java android text bufferedreader

我工作的一个项目,但是当我从文件中读取它无法读取一些字符(如?,ž,š,等),我不知道我究竟做错了.

这是我的代码:

try {
    reader = new InputStreamReader(getAssets().open("koce_podatki.txt"));
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

BufferedReader br = new BufferedReader(reader);
for(int i=-1;i<position;i++){
    try {
        temp = "" + br.readLine();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

try {
    reader.close();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

Joa*_*uer 7

你的问题是编码之一.文件只存储字节.

将字节映射到字符有很多种方法(这些方式称为编码).

从文本文件中读取时,必须知道指定要使用的编码.

如果在Java中指定编码,则将使用平台默认编码,这可能是也可能不是您想要的.

在你的情况下,它不是你想要的.为了解决这个问题,找出正确的编码,并在指定它InputStreamReader构造函数.

要尝试的常见编码是UTF-8.如果您告诉我们您所看到的内容而不是这些字符,我们可以帮助您猜测正确的编码.