我试图使用readObject读取二进制文件中的行数,但得到IOException EOF。我这样做正确吗?
FileInputStream istream = new FileInputStream(fileName);
ObjectInputStream ois = new ObjectInputStream(istream);
/** calculate number of items **/
int line_count = 0;
while( (String)ois.readObject() != null){
line_count++;
}
readObject()
不返回null
EOF。您可以捕获EOFException
并将其解释为EOF,但这将无法检测到将正常EOF与已被截断的文件区分开。
更好的方法是使用一些元数据。也就是说,您不必询问ObjectInput
流中有多少个对象,而应该将计数存储在某个地方。例如,您可以创建一个元数据类来记录计数和其他元数据,并将实例作为每个文件中的第一个对象存储。或者,您可以创建一个特殊的EOF标记类,然后将实例存储为每个文件中的最后一个对象。
我正在设计一个程序,为消息中的特定字符保存索引位置。然后,我需要根据这些字符的索引位置来检索它们。我将这些字符的位置保存在。txt文件中。我检索了它们,但在最后,我得到了这样一条消息“Exception in thread”AWT-EventQueue-0“java.lang.IndexoutOfBoundsException:Index 120 out of bounded for length
描述 (Description) 如果FILEHANDLE上的下一次读取将返回文件结尾,或者如果FILEHANDLE未打开,则此函数返回1。 没有参数的eof使用最后读取的文件。 使用带空括号的eof()是非常不同的。 它指的是由命令行中列出的文件形成的伪文件,可通过<>运算符访问。 语法 (Syntax) 以下是此函数的简单语法 - eof FILEHANDLE eof() eof 返回值 (
我想要到达我的本地主文件夹。例如: 这是位置。 我必须到达“文件夹1” 当我使用dirname()时,似乎这个路径。 我怎样才能到达“Folder1”? ps:如果路径是我必须再次到达“folder1” 如果你帮助我,我会很高兴。谢谢
我有一个生成PDF文件的webapp。我为此使用fop 2.1,但有些字符不是默认的fop字体。我尝试使用其他字体,以正确打印所有字符。 如果我在我的PC上执行的测试类中尝试它,一切都很好。但是如果应用程序试图在weblogic服务器上做同样的事情,我会收到:Java . io . EOF exception:Reached EOF,file size = 23275952 offset = 23
我得到以下错误,当我运行。 EOFError:压缩文件在到达流结束标记之前结束 即使当我手动提取文件并将其放置在目录中时,程序仍在尝试下载文件,而不是使用提取的文件。 当我使用手动方式WinZip提取文件时,WinZip告诉我该文件已损坏。 我如何解决这个问题? 我现在甚至不能加载数据集,我仍然需要调试程序本身。请帮忙。 我安装了Tensorflow,因此没有Tensorflow示例。所以我去Gi
问题内容: 我一直很难在由vagrant提供支持的虚拟机中执行简单的golang程序。这些是我的相关领域: 这是我要执行的程序(位于/ usr / local / src / go / program中): 这,我得到的输出: 考虑到这是一个完全伪造的程序。奇怪的是,它完全可以在不同的环境中工作。我在这里想念什么? 非常感谢! 问题答案: 问题既不是也不是。go安装有时会失败,使整个过程变得不稳定