IO java中的Skip()方法



我知道FileInputStreamskip(long)方法从文件的起始位置跳过字节并放置文件指针。但是,如果我们只想跳过文件中间的20个字符,并读取文件的其余部分,我们应该怎么做?

您应该使用BufferedReader。它的skip方法跳过字符而不是字节。

从现有的FileInputStream中跳过20字符:

BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream));
// read what you want here
reader.skip(20);
// read the rest of the file after skipping

维护计数器

循环所有字符,每次读取增加计数器。当您达到要跳过的字符起始位置所对应的计数器限制时,请跳过需要跳过的字符。

int counter = 0;
while (counter < START_SKIP) {
    int x = input.read();
    // Do something
}
input.skip(NUM_CHARS_TO_SKIP);
...
// Continue reading the remainings chars

如Tunaki所说,必要时使用BufferedReader来提高性能(或BufferedInputStream取决于您正在读取的文件类型,如果是二进制文件或文本文件)。

相关内容

最新更新