我很难理解Java中输出/输入流的行为。
ObjectOutputStream实现了DataOutput接口,因此作为DataOutputStream,它具有编写原语的方法。
但反转写入的字节ObjectInputStream会引发EOF。
byte array[]=new byte[50];
byte value=2;
System.out.println(value); //prints 2
ByteArrayOutputStream os=new ByteArrayOutputStream();
ObjectOutputStream oss=new ObjectOutputStream(os);
oss.writeByte(value);
array = os.toByteArray();
//get back the original value from the byte array
ObjectInputStream ois=new ObjectInputStream(new ByteArrayInputStream(array));
byte result=ois.readByte(); // -> throws EOF Exception (see below)
System.out.println("Result -> "+result);
引发此异常
Exception in thread "main" java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:392)
at java.io.ObjectInputStream$BlockDataInputStream.readInt(ObjectInputStream.java:2827)
at java.io.ObjectInputStream.readInt(ObjectInputStream.java:971)
at z.reti.TestOOS.main(TestOOS.java:21)
使用其他原语引发相同的异常。用字节包装器类替换基元字节(并使用读/写对象),问题消失了。。。
有没有一种方法可以将ObjectOutputStream和ObjectInputStream与原语一起使用?
您没有关闭ObjectOutputStream。只需添加oss即可。执行oss后关闭()。writeByte(value),您的程序应该能按预期工作。
无法理解为什么此代码会抛出InputMismatchExcure。我试图阅读几行字符串输入和打印出每一行。这是我的代码:
输出为 预期输出
所以我使用了DataInputStream、FileInputStream、BufferInputStream、FileReader、BufferedReader、Scanner。它们都抛出FileNOtFoundException或CorruptedStreamException。
问题内容: 这真让我抓狂。我正在使用ASP.NET MVC。我有一个带有HttpPost动作的控制器,该动作充当另一个服务器(不在我的控制下)调用的回调URL。我想动态读取发布到它的JSON,而无需使用WebAPI或模型绑定。该URL还具有传递给它的查询字符串参数。 回调URL如下所示: http://domain.com/callback?secret=1234 我尝试使用以下方法阅读发布的输入
问题内容: 在 Android平台上从InputStream读取时,我遇到一个奇怪的问题。我不确定这是否是Android特有的问题,或者 总体上我做错了什么。 唯一特定于Android的是此调用: 这会从Android资产返回文件的InputStream。无论如何, 这是我遇到的问题: 当read()执行时,它抛出IOException。奇怪的是, 如果我进行了两个连续的单字节读取(或任意数量的单
我试图使用jmeter中的csvdata config元素读取csv文件,以便测试多次登录,但是当我试图从csv文件中读取值时,我得到了附加在结果后面的引号。请告诉我如何去掉请求参数中传递的这些逗号 请找到我的csv数据配置和excel文件,并要求附件中的参数截图