我需要以各种方式在Java中保存一些数据,至File
,至String
,至System.out
......我最终用3种方法做了几乎相同的事情。所以我将它们改为一个以OutputStream
作为参数的单一方法。我为一个OutputStream写了一些东西,例如一些文本,一个序列化的对象,另一个序列化的对象,一些数字数据...如何在同一个InputStream中读取不同的数据组,对每个InputStream使用不同类型的InputStream?
但现在我卡住了。我忽略了我无法区分已写入的不同事物的事实。我为数据创建了一个InputStream
。我在该流上使用Scanner
首先读取文本,然后尝试使用ObjectInputStream读取序列化对象,但是我得到一个EOFException
。
我想扫描仪预读。如何防止扫描仪预读。
或者说,我怎样才能使用适当的InputStream为每个数据读取每组数据。
因此,您有一个InputStream,您想使用Scanner *和* ObjectInputStream进行读取? – aioobe
是的,如果可能的话 – neXus
您必须决定它是否是文本例如扫描仪或二进制例如ObjectInputStream的。如果你真的知道自己在做什么,你可以混合它们,但这不太可能是一个好主意。即它更可能是一个可怕的混乱。 –