我有一个java应用程序,它从一堆文本文件中读取(大约50gbs)。每个文件从5kb到35mb不等。这些文件本身是从另一个按需运行的java应用程序创建的,但是大约一周没有运行。该文件使用了许多分隔符,如
| ; ,
我的应用程序运行正常但最近因数字格式异常而开始抛出错误。经过检查,我看到其中一个逗号已被翻到$
0.43916,22970.43081,6.76182 $ 527640691.38786,| 10,
我的问题是这个。由于驱动器损坏,这种“翻转”是否可能发生?看起来有点牵强,整个文件中只有1个字符会改变。文件上的时间戳验证它没有被其他程序“意外”修改。
我真的在这个问题上摸不着头脑。
答案 0 :(得分:2)
这不太可能,但绝对有可能。实际上,只有一位必须在a,(00100100)和$(00101100)之间进行更改。磁盘通常具有内置的校验和和纠错码等内容,因此如果确实发生了损坏,他们就能够纠正它,或者至少让您知道它已经发生。但是,静音腐败并非闻所未闻,而且与传统硬盘相比,SSD可能更容易发生。
但是,首先要看的是产生文件的代码。
答案 1 :(得分:1)
原来是驱动器损坏。运行CHKDSK并出现错误。