나는 주어진 이진 파일 액세스를 쓰기 여부가 있는지 여부를 확인해야합니다. 파일 클래스 API에는 버그와 JDK7에서 수정 된 버그가 있지만 그냥 업그레이드 할 수는 없습니다. 여기 왜 FileOutputStream을 열면 이진 파일이 손상됩니까?
버그에 대한 링크입니다 :나는 그것이 바이너리 파일을 손상하고 탐색기를 제로로 크기를 표시하고 시작할 수 없습니다 FileOutputStream 또는를 열 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6203387. 다음은 코드 스 니펫입니다.
OS : Win7에
은 이진 파일을 손상 (아무것도 기록되지 않음) 출력 스트림을 여는 이유를 내가 이해하는 데 도움이 바랍니다. 이 문제에 대한 해결 방법이 있습니까? 나는 그것이 바이너리 파일을 손상 및 FileOutputStream 또는를 열 때
private boolean hasWriteAccess(File file) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream(file);
} catch (Exception e) {
e.printStackTrace();
if(fos != null) {
try {
fos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
return false;
}
return true;
}
아하 ... 고마워. – user1132809