1

我有一个从一堆文本文件(价值约 50gbs)中读取的 java 应用程序。每个文件的大小从 5kb 到 35mb 不等。这些文件本身是从另一个 java 应用程序创建的,该应用程序按需运行但大约一周内未运行。该文件使用了许多分隔符,例如

| ; ,

我的应用程序运行良好,但最近开始抛出错误,出现数字格式异常。经过检查,我发现其中一个逗号已被翻转为 $

0.43916,22970.43081,6.76182$527640691.38786,|10,

我的问题是这个。由于驱动器损坏,这种“翻转”是否可能发生?整个文件中只有 1 个字符会改变似乎有点牵强。文件上的时间戳验证它没有被另一个程序“意外”修改。

我真的在这个问题上摸不着头脑。

4

2 回答 2

2

这不太可能,但绝对有可能。事实上,只需在 a , (00100100) 和 $ (00101100) 之间更改一位。磁盘通常具有内置校验和和纠错码等内容,因此如果确实发生损坏,它们能够纠正它,或者至少让您知道它已经发生。但是,无声损坏并非闻所未闻,与传统硬盘相比,SSD 更有可能发生。

不过,首先要看的绝对是生成文件的代码。

于 2012-09-06T22:20:31.780 回答
1

原来是驱动器损坏。跑了一个 CHKDISK 并想出了错误。

于 2012-09-13T19:52:45.907 回答