我有一段代码使用围绕DataOutputStream
的{{1}}写入文件,并使用围绕FileOutputStream
的{{1}}写入字符串,都使用DataOutputStream
方法。
然后我尝试从文件中读取并比较从文件读取的内容到字符串,(ByteArrayOutputStream
包裹在围绕b(ByteArrayOutputStream).toString()和{{1}的StringReader周围缠绕writeDouble()
)并得到相同的结果。
即使
BufferedReader
和
BufferedReader
当我用比较两者时,在终端中打印相同的东西
FileReader
它们永远不会相等。(Str1和Str2为System.out.println(StrRead1.toString())
s)
有人可以帮我一把吗?感谢。
答案 0 :(得分:0)
writeDouble()的结果是二进制。您没有尝试将结果转换为String或使用Reader读取数据的业务。使用InputStream并比较字节。或者使用DataInputStream并在每种情况下比较readDouble()的结果。
但我真的不知道你为什么要这样做。 writeDouble()是writeDouble()。无论它连接到哪个输出流,它都会做同样的事情。