繁体   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