为什么我的输出文件与原始文件不同?

时间:2016-03-03 14:08:06

标签: java bytearray

我正在编写一个简单的帮助器类,它从文件中获取数据,编辑它然后将其作为字节数组写回。 我遇到的问题发生在编写文件时,它会以某种方式破坏数据,因此我的文件变得无法使用。

以下是我的代码片段:

protected

即使我只是编写原始数据而不进行编辑,输出文件也会有一个十六进制值不同,因此使用该文件的程序认为它已损坏(我使用简单的十六进制编辑器来检查差异)。

在不破坏文件的情况下,是否有更简单/更好的方法来执行我要执行的操作?为什么腐败甚至会发生?我几乎尝试了编写/读取文件的所有可能组合,并且每次都会发生。

对于长时间的问题和拼写错误,我们非常感谢您提出建议/帮助。祝你有愉快的一天:D

1 个答案:

答案 0 :(得分:0)

感谢你们的帮助,我终于解决了这个问题。问题是我在写入数据之前没有指定任何编码。下面的这一行解决了这个问题:

byte result[] = edited_data.getBytes(StandardCharsets.ISO_8859_1);

输出不再被破坏,一切都按照我的意图运作。 :d