我正在学习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反转文本文件中的整个文本,如果我能做到这一点。
答案 0 :(得分:3)
检查JavaDoc:
public final char readChar()抛出IOException
从此文件中读取字符。此方法从文件读取两个字节,&gt;从当前文件指针开始。如果按顺序读取的字节是b1&gt;和b2,其中0 <= b1,b2&lt; = 255,则结果等于: (char)((b1 <&lt; 8)| b2)
因此,为了让您的示例正常工作,您应该使用readByte()
代替。