繁体   English   中英

使用RandomAccessFile检查空位置

[英]Checking null position using RandomAccessFile

我需要检查随机访问文件中的位置是否尚未写入。 hasn't been written to, I get (as anticipated) an EOFException. 问题是,当位置未写入时,我得到(如预期的那样)EOFException。 我一直在阅读RandomAccessFile文档以尝试解决此问题,并尝试在线研究。

我尝试过的事情:

  • 使用try-catch块并在每次出现EOFException时进行捕获(将try-catch用作条件语句)。 它有效,但是这是可怕的做法,并且效率很低,就我而言,大多数情况下都是EOF。

  • 使用BufferReader遍历并检查位置。 我最终遇到许多问题,并决定必须有更好的方法。

我不想将一个文件复制到另一个文件或其他任何解决方法。 我知道必须有一种直接的方法,我似乎无法找到正确的解决方案。

您是否要写一个“定制”?

您需要做的是使用一个线程,该线程仅使用FileChannel.size()读取那里的数据以检查更多数据。 该数据被传递到管道输入。 这使您可以拥有第二个线程,该线程可以连续读取管道流,例如使用BufferedReader并在需要更多数据的位置进行阻塞。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM