问题标签 [eofexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
43043 浏览

java - JAVA 的流中何时会出现 EOFException

我正在使用 DataInputStream 并且有一个关于 EOFExceptions 的问题。

根据java文档:

表示输入期间意外到达文件结尾或流结尾。

此异常主要由数据输入流用来表示流结束。请注意,许多其他输入操作在流结束时返回一个特殊值,而不是引发异常。

这是否意味着当生成 EOFException 时,流将永远不会再次打开?这是否意味着您永远不应该期望从中获得更多数据?

如果输出流连接到输入流并调用了 outputstream.close(),输入流会收到 EOFException 还是 IOException?

IOException 描述为:

表示发生了某种 I/O 异常。此类是由失败或中断的 I/O 操作产生的一般异常类。

输出流的关闭是否会在数据输入流端产生 EOFException 或 IOException?

0 投票
2 回答
203 浏览

java - java - 内部类的 IO

是否可以将 ObjectOutputStream/ObjectInputStream 设置为内部类?我可以写好,并检查创建的文件,但是当我尝试使用 ObjectInputStream 读回它时,我得到一个 EOFException 只是试图读取一个 Object o = oos.readObject();

  1. 我使用相同的 File 对象来打开两个流,所以这不是问题。
  2. 它似乎与内部类的性质无关——只有一个公共 int 的类与更复杂的类一样失败。

我必须继续前进,创建一个常规类,并在发送者类中实例化,但我讨厌走开,不知道是否可能,如果不知道为什么不这样做。

更新:导致问题的相关问题:

A. 您无法重新打开使用 ObjectOutputStream 写入的文件并追加:写入第二个标头并损坏文件。

B. 使用 ByteOutputStream 序列化 HashMap 以进行哈希摘要不起作用,因为当您从 ObjectOutputStream 文件中读回 HashMap 时,由于对顺序的变化,您很可能会从 ByteOutputStream 获得不同的 byte[]:内容是相同的,但 byte[] (以及散列摘要)不是。

希望这可以帮助某人节省一些时间。

0 投票
1 回答
6176 浏览

java - 读取objectinputstream时Java中的EOF异常

我想读取已输出到 .dat 文件的多个对象(我自己的类 Term),但我总是得到 nullPointException 或 EOFException。

0 投票
1 回答
5163 浏览

java - 尝试从 SSLSocket 读取时获取 EOFException

我正在开发一个 SSL 客户端,它将向 SSL 服务器发出一个简单的请求并等待响应。SSL 握手和写入正常,但我无法从套接字读取数据。我打开了 java.net.ssl 的调试,得到以下信息:

[..] 是证书链。

这是一个代码片段:

我可以多次写入并且没有收到任何错误,但 EOFException 在第一次读取时发生。

我的套接字或 SSL 身份验证有问题吗?

谢谢你。

0 投票
2 回答
1062 浏览

java - ObjectInputStream 中的 EOFException 仅发生在 Webstart 而不是 java(w).exe 的情况下?

任何熟悉从 Webstart(javaws.exe) 启动与启动应用程序的区别的人。使用 java.exe 或 javaw.exe 处理流?

这是我只有在使用 Webstart 时才会遇到的异常:

这就是我在两侧设置连接的方式

[编辑] Webstart 控制台说:Java Web Start 1.6.0_19 Using JRE version 1.6.0_19-b04 Java HotSpot(TM) Client VM

服务器运行相同的 1.6u19

[编辑] JNLP 包含:

谢谢

0 投票
2 回答
39805 浏览

java - java.io.EOFException while writing and reading froma servlet

I have the following code on the applet side:

In the servlet side I recieve the code as follows:

When I click on the button that calls the code in the applet side, I get the following error:

Why am I getting this error? I have flushed when I output, I have closed the connections also, yet I get the error. Any reason for this?

0 投票
3 回答
4887 浏览

java - Java 的 EOFException 异常吗?

使用异常来指示已到达文件末尾似乎很脏。我们读取的每个文件都有一个结尾,因此它看起来并不异常或意外。此外,我不喜欢对我的程序的非异常流程使用异常。

我说的是使用java.io.EOFException来表示数据输入流的结束:

想象一个包含以下消息的文件......

...并使用 DataInputStream 读取此文件:

在此示例中,调用in.readShort(). 我是否应该计算出文件中的字节数,并准确读取该字节数(由total -= length归零确定),然后无一例外地退出 while 循环?我正在寻找最佳实践。

我应该做这样的事情吗?

API 规范指定 EOFException 表示输入期间意外到达文件结尾或流结尾。但它也被数据输入流用来表示流结束。

当出现例外情况时我该怎么办?

0 投票
2 回答
4429 浏览

java - 我的 Java 代码中的 EOFException

正如 stackoverflow 上的其他帖子已经解释的那样,EOFException 在意外到达流的末尾时发生。我有一个方法,它将一个字节数组转换为一个长数字。这个字节数组是一个 uint64_t 数字,我通过我的 java 绑定从 C 语言的数据库中检索到它。我确实知道 uint64_t 和转换为长数字(有符号位)的问题。

这是我的方法:

此方法有时(!)抛出此异常:

我不明白为什么我能得到那个例外?我没有指定自己字节数组的长度,但我只是将字节数组传递给 ByteArrayInputStream,所以理论上我不应该得到这样的异常,我想。

(请原谅我,如果解决方案很明显)

0 投票
3 回答
3597 浏览

java - 在 Java 中读取序列化对象时获取 EOFException

我有两种方法,一种是序列化对象,它工作正常:

反序列化对象时出现问题,我得到EOFException!:

0 投票
2 回答
1387 浏览

hadoop - Hadoop 管道程序抛出的 EOFException

首先,我是Hadoop的新手。

我有一个抛出 java.io.EOFException 的小型 Hadoop 管道程序。该程序将一个小文本文件作为输入,并使用 hadoop.pipes.java.recordreader 和 hadoop.pipes.java.recordwriter。输入非常简单,例如:

但是,Hadoop 会抛出 EOFException,我看不出原因。下面是堆栈跟踪:

顺便说一句,我在完全分布式模式(具有 3 个工作节点的集群)上运行它。

任何帮助表示赞赏!谢谢