在java中向后跳过文件

在java中向后跳过文件,java,fileinputstream,Java,Fileinputstream,我在Java中使用FileInputStream解析输入文件,我希望能够在该文件中向后跳过。我的结果好坏参半,根据Javadocs的说法,这是不可能的,尽管它在程序的其他部分也起到了作用。 目前,我得到一个: '线程“main”java.io.IOException中的异常:参数无效' 我相信,RandomAccessFile也会产生同样的问题。有什么建议可以让这成为可能吗 编辑: 发生错误的位置示例: FileInputStream file = new FileInputStream(inp

我在Java中使用
FileInputStream
解析输入文件,我希望能够在该文件中向后跳过。我的结果好坏参半,根据Javadocs的说法,这是不可能的,尽管它在程序的其他部分也起到了作用。 目前,我得到一个:

'线程“main”java.io.IOException中的异常:参数无效'

我相信,
RandomAccessFile
也会产生同样的问题。有什么建议可以让这成为可能吗

编辑:
发生错误的位置示例:

FileInputStream file = new FileInputStream(inputfile);
file.read(check,0,6);
file.skip(-6);
如果与FileInputStream关联,则可以在通道上设置,这将影响流的下一次读取


类似地,如果您使用,您可以将其复制到文件中所需的位置。

是什么代码导致了问题?我们能看到一个小代码段吗?FileInputStream file=newfileinputstream(inputfile);读取(检查,0,6);跳过文件(-6);向后跳过并不能保证有效。javadoc明确指出将尝试但可能不受支持:
如果n为负,该方法将尝试向后跳过。
您的所有读取是否都像给定的示例一样相对较小?也许更好的选择是使用BufferedInputStream包装并使用mark/reset。