2017-11-28 9 views
-1

"x"라는 파일에 파서를 쓰려고합니다. 나는 스캐너를 사용하고 싶다. 튜토리얼 (https://www.youtube.com/watch?v=3RNYUKxAgmw)의 작업을 수행하기 위해 노력했습니다.Java, Eclipse, Ubuntu에서 FileNotFoundException 파일 열기

package q; 

import java.io.File; 
import java.util.Scanner; 

public class Parser { 
    public static void main(String [] args) { 
     Scanner x = new Scanner(new File("/home/x/eclipse-workspace/q/src/q/x.txt")); 
     String s=x.nextLine(); 
     System.out.print(s); 
    } 
} 

내가 열어보고 싶은 파일을 해당 텍스트 파일 "x"라고합니다. 패키지 탐색기에서 왼쪽에 표시됩니다. 나는 그 속성을 오른쪽 클릭했다. 보이는 파일 위치 파악이 있습니다.

그림에 F ileNotFoundException가 나타납니다. 이 파일을 열 수없는 이유를 모르겠습니다.

enter image description here

enter image description here

[업데이트] 그러나이 사진에로 FileNotFoundException이이 보이는 것을

+0

절대 경로를 사용하고, 리눅스 디렉토리 구조에는 익숙하지 않지만, 윈도우와 같은 무언가 경로는 c : \ 또는 d : \와 같은 드라이브 문자로 시작하여 파일 위치 –

+0

으로 시작합니다. 파일의 이름이'x'이면 코드에서'x.txt'를 사용하는 이유는 무엇입니까? –

+0

파일 형식 확장자입니다. 나는 Scanner x = new Scanner (new File ("/ home/x/eclipse-workspace/q/src/q/x"));를 시도했지만 아직 처리되지 않은 예외 유형 FileNotFoundException이 있습니다. – grzegorzs

답변

1

입니다 있는지 확실하지 않습니다. 나는 이 파일을 열 수없는 이유를 이해하지 못한다.

그런 일은 일어나지 않습니다. 컴파일 타임에 오류가 발생했습니다 (프로그램이 실행되지 않았으므로 파일이 있는지 여부는 알 수 없음). 컴파일러는 "이 메서드/생성자는 선언에 따라 런타임에 Exception (이 경우 FileNotFoundException)을 throw 할 수 있으며이 경우 수행 할 작업을 알려주지 않았습니다."

Java에서 예외를 처리하는 방법에 대해 정말 읽어야합니다.

빠른 해결 방법은 main 선언에 throws Exception을 추가하는 것입니다. (마음에 곰 : 당신이 정말로 무엇을하는지 이해하지 못한다면 끔찍한 일이다.)