Java RandomAccessFile 如何读取第 n 个字节作为字符

Java RandomAccessFile how to Read nth byte as a character

我正在学习 java 文件操作,我试图将第 n 个字节读取为文本文件中的字符。我使用了 RandomAccessFile(我不确定这是否是这里使用的正确模块),我的代码是

import java.io.RandomAccessFile;
public class testclass {

public static void main(String[] args) throws IOException {
    RandomAccessFile f = new RandomAccessFile("temptext.txt", "r");
    f.seek(200);
    System.out.println(f.readChar());
    }
}

这是在打印一些文本文件中没有提到的未知字符。我在这里做错了什么?我的最终目标是使用 forloop 反转文本文件中的整个文本,如果我能做到的话。

检查此 JavaDoc

public final char readChar() throws IOException

Reads a character from this file. This method reads two bytes from the file, >starting at the current file pointer. If the bytes read, in order, are b1 >and b2, where 0 <= b1, b2 <= 255, then the result is equal to: (char)((b1 << 8) | b2)

因此,为了使您的示例生效,您应该改用 readByte()