我正在学习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());
    }
}这是打印一些未知字符,这些字符在文本文件中没有提到。我在这里做错什么了?我的最后一个目标是,如果我能做到这一点,我将使用for循环来反转文本文件中的整个文本。
发布于 2015-12-06 19:55:27
请检查此JavaDoc:
公共最终字符readChar()抛出IOException 读取此文件中的字符。此方法从文件中读取两个字节的,>从当前文件指针开始。如果按顺序读取的字节为b1 >和b2,其中0 <= b1,b2 <= 255,则结果等于:(char)((b1 << 8) b1 b2)
因此,要使您的示例工作,您应该使用readByte()代替。
https://stackoverflow.com/questions/34121467
复制相似问题