我需要以各種方式在Java中保存一些數據,至File
,至String
,至System.out
......我最終用3種方法做了幾乎相同的事情。所以我將它們改爲一個以OutputStream
作爲參數的單一方法。我爲一個OutputStream寫了一些東西,例如一些文本,一個序列化的對象,另一個序列化的對象,一些數字數據...如何在同一個InputStream中讀取不同的數據組,對每個InputStream使用不同類型的InputStream?
但現在我卡住了。我忽略了我無法區分已寫入的不同事物的事實。我爲數據創建了一個InputStream
。我在該流上使用Scanner
首先讀取文本,然後嘗試使用ObjectInputStream讀取序列化對象,但是我得到一個EOFException
。
我想掃描儀預讀。如何防止掃描儀預讀。
或者說,我怎樣才能使用適當的InputStream爲每個數據讀取每組數據。
因此,您有一個InputStream,您想使用Scanner *和* ObjectInputStream進行讀取? – aioobe
是的,如果可能的話 – neXus
您必須決定它是否是文本例如掃描儀或二進制例如ObjectInputStream的。如果你真的知道自己在做什麼,你可以混合它們,但這不太可能是一個好主意。即它更可能是一個可怕的混亂。 –