lzth.net
当前位置:首页 >> jAvA.io.EoFExCEption rEADUTF >>

jAvA.io.EoFExCEption rEADUTF

样例一,if中读到文件末尾最后一行时,if条件为真,运行里面的语句,此时,已经读写完了文件,再调用readUTF()所以会报错。样例二中判断每次读到的值,当读到结束标识时,if条件为假,结束。

可能是因为阻塞引起的,因为服务器读不到东西就会阻塞,所以就报了个异常,其实这个是正常的,确保把socket关闭一下,还有inputStream也关闭一下。

这个异常不是必须声明的,也就是说它虽然是异常,但其实是正常运行结束的标志。EOF表示读到了文件尾( String str = dis.readUTF(); ,客户端已经断开,后面已经没有内容可以读了),发送结束自然连接也就断开了。

试了一下文件内容纯英文就没问题,会不会是转码问题? 你可以看一下底层源码

这个我在部署到tomcat的时候遇到过这个情况,不知道和你的是否一样,我的处理方法 apache-tomcat-6.0.37\work\Catalina\localhost,把你的项目删除,重新跑一遍,tomcat中的错误是因为有一个文件在启动的时候会短暂的出现,然后被删除,如果没有...

while(true),这是死循环。你输出操作完了之后,最起码要退出吧?否则会一直做写的操作。当然会包流异常。

在网上查的资料说是因为流数据已经读完,就会抛出EOFException,是正常情况

EOF异常:在此流读取所有字节之前到达末尾时发生 DataInput接口里关于的说明(这个接口是你使用的DataInputStream类所实现的接口): 对于此接口中的所有数据读取例程来说,如果在读取所需字节数之前已经到达文件末尾 (end of file),则将抛出 EOFE...

at com.datastream.test.DataStreamTest.main(DataStreamTest.java:23) dis.readUTF(); 这行注释掉可以运行了 这句话产生异常,“e.printStackTrace(); ”就是因为捕获到异常,所以会打印异常信息;EOFException 最好把声明的流都给关闭 fos.close...

这个方法是用来 读入一个已使用 UTF-8 修改版格式编码的字符 而你的文件中的字符肯定没有使用这种编码格式所以才会抱这种错误 其实像你这样做使用BufferedReader是最合适的了。 DataInputStream dis =new DataInputStream(in); 把这句换成 Buffe...

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com