2017-09-27 6 views
0

자바에서 텍스트 문서를 읽으려고합니다. 내 프로그램에서 파일을 찾을 수 있습니다. 다양한 테스트를 통해 올바른 절대 경로를 결정할 수 있다는 것을 알 수 있지만 문제는 내 프로그램에 파일을 볼 수있는 권한이없는 것 같습니다.내 파일을 java로 읽을 수없는 이유는 무엇입니까?

File names = new File("names.txt"); 
if(names.setReadable(true, false (edit: true))) 
    System.out.println("Can now be read"); 
if(names.canRead()) 
    System.out.println("Can be read"); 

FileInputStream fs = new FileInputStream(names); 
BufferedReader br = new BufferedReader(new InputStreamReader(fs)); 

각 if 문에서 부울식이 거짓으로 평가되며 이유 또는 변경 방법을 이해할 수 없습니다. FileNotFoundException을 실행하여 새 FileInputStream을 만들려고합니다.이 파일은 읽을 수없는 파일이기 때문에 읽습니다.

편집 : 이제 setReadable 메서드 호출에 대한 두 번째 매개 변수를 true로 변경했으며 해당 부분이 작동합니다 ("Can can read"). 그래서 파일이 발견되고 읽을 수있는 것으로 설정되어 있지만 두 번째 if 문이 실패하고 프로그램이 텍스트 문서에 액세스 할 수없는 것 같습니다.

+0

예외가 FileNotFoundException 인 경우 잘못 파일 위치를 가리 킵니다. 파일 file = 새 파일 ("C : \\ filePath \\ yourfile.txt"); – Myo

답변

0

이 있어야한다 :

if(names.setReadable(true, true)) 

두 번째 인수는 소유자가 파일에 액세스 할 수 있도록하는 것이 true해야한다.

false로 설정하면 프로그램에서 파일을 읽을 수 없습니다.

자세한 내용은 here을 참조하십시오.