나는 어떤 논리도 찾을 수없는 것처럼 보이는 버그를 만났습니다. 다음과 같이 생성 된이 File 객체가 있습니다.
File file = new File("utilities/data/someTextFile.txt");
그런 다음 file.exists()
반환합니다.false
(!?)가 됩니다. 파일을 찾을 수 없으면 파일에 기록 f.getAbsolutePath()
하고 있습니다. 길을 보면 괜찮아 보인다. 전체 경로를 Windows의 "실행"창에 복사하여 붙여 넣으면 파일이 정상적으로 열립니다.
파일은 항상 존재하며 내 응용 프로그램을 실행하는 동안 삭제되거나 변경되지 않습니다. 로컬 시스템에 있습니다.
이것은 특정 상황에서만 발생하는 것 같습니다. 나는 언제든지 결함을 재현 할 수 있지만 결함을 재현하기 위해 수행하는 작업으로 인해 파일 객체의 경로가 변경되지 않는다고 확신합니다.
file.exists()
거짓을 반환하는 원인 은 무엇입니까 ? 이것이 권한이나 파일 잠금 등과 관련이 있습니까?