텍스트 파일 (약 50gbs 상당)에서 읽는 Java 응용 프로그램이 있습니다. 각 파일은 5kb에서 35mb 사이입니다. 파일 자체는 필요에 따라 실행되지만 약 1 주일 만에 실행 된 다른 Java 응용 프로그램에서 작성됩니다. 파일은 다음과 같은 구분 기호를 사용합니다.SSD 손상으로 txt 파일의 문자가 바뀔 수 있습니까?
| ; ,
내 응용 프로그램은 잘 돌아 갔지만 최근에는 숫자 형식 예외와 함께 오류가 발생하기 시작했습니다.
내 질문은 이것이다, 10 | 시험에 나는 쉼표 중 하나가 $
0.43916,22970.43081,6.76182 $ 527640691.38786에 뒤집어 된 것을 알 수 있습니다. 드라이브 손상 때문에이 "뒤집기"가 일어날 가능성이 있습니까? 전체 파일에서 단 1 자만 바뀌어 버리는 것 같습니다. 파일의 타임 스탬프는 다른 프로그램에서 실수로 수정하지 않았 음을 확인합니다.
나는이 머리에 내 머리를 긁적니다.
파일을 생성하는 응용 프로그램에 잘못된 값이 파일에 기록되게하는 버그가 있습니다 (특히 변경된 단일 문자이기 때문에). 드라이브 손상은 대부분 더 많은 데이터에 영향을 미칩니다. (이것은 실제로 프로그래밍 문제가 아니며, OS/하드웨어 질문이 더 많습니다. 여기서는 주제가 아닙니다.) –
하드웨어 또는 컴파일러 버그 (또는 우주 광선으로부터의 비트 플립)로 인한 버그가 그렇게 발생합니다 거의 문제에 대해 비난 받아서는 안됩니다. 필자는 10 년 이상 엔터프라이즈 형 Java 코드를 개발해 왔으며 이러한 문제 중 하나가 버그의 근본 원인이되지 않았습니다 (XML 프로세서 문제를 제외하고 :-)). 다시 말하지만, 이것은 실리콘이 아닌 회전하는 금속으로 이루어졌습니다. –