我正在从 Kryo 中的 gzip 文件中读取未知数量的对象:
Input input = new Input(new GZIPInputStream(Files.newInputStream(inputFile)));
问题是:如何检测何时从文件中读取了最后一个对象?当我写对象时,我事先不知道要写多少,所以我不能在文件开头包含对象的计数。
我可以在文件末尾写一些“虚拟”对象来指示它是最后一个,但这看起来很难看。
最佳答案
在读取每个对象后使用 Input#eof() 检查您是否到达流的末尾。
关于java - 我如何在 Kryo 中检测到 "End of File"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13314599/