簡體   English   中英

Java:FileOutputStream和ByteArrayOutputStream之間的字符串比較

[英]Java: String Comparison between FileOutputStream and ByteArrayOutputStream

我有一段代碼,使用包裹在FileOutputStream周圍的DataOutputStream寫入文件,並使用包裹在ByteArrayOutputStream周圍的DataOutputStream寫入字符串,兩者均使用writeDouble()方法。

然后,我嘗試從文件讀取並將從文件讀取的內容與字符串進行比較( BufferedReader包裹在StringReader包裹在b(ByteArrayOutputStream).toString()和BufferedReader包裹FileReader ),並得到相同的結果。

即使

System.out.println(StrRead1.toString()) 

System.out.println(StrRead2.toString()) 

當我比較兩個使用時在終端上打印相同的東西

(StrRead1.toString().equals(StrRead2.toString()))

它們永遠不相等。(Str1和Str2是StringBuilder

有人可以幫我嗎? 謝謝。

writeDouble()的結果是二進制的。 您無需嘗試將結果轉換為String或使用Reader讀取該數據。 使用InputStream並比較字節。 或使用DataInputStream並在每種情況下比較readDouble()的結果。

但是我真的不知道為什么要這么做。 writeDouble()是writeDouble()。 無論連接到哪個輸出流,它都執行相同的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM