2012-02-15 2 views
0
public class Cww { 
static List<String> readFile(String filename) { 
    List<String> records = new ArrayList<String>(); 
    try { 
     BufferedReader reader = new BufferedReader(new FileReader(filename)); 
     String line; 
     while((line = reader.readLine()) != null) 
     { 
      records.add(line); 
     } 
     reader.close(); 
     return records; 
    } catch(Exception e) { 
     System.out.println(e); 
     return null; 
    } 
} 

에서 파일을 찾을 수없는 내 방법과 내 주 :디렉토리

readFile("DirList.java"); 

    File file = new File("DirList.java"); 
    System.out.println(file.getCanonicalPath()); 

// CLASSPATH: .;..;J:\Programowanie\eclipse workspace\tij;C:\Program Files\Java\jre7\lib\ext\QTJava.zip 

output: java.io.FileNotFoundException: DirList.java (Nie można odnaleźć określonego pliku) 
J:\Programowanie\eclipse workspace\Rozdzial 18 cwiczenia\DirList.java 

file.getCanonicalPath() 정말 어디 IS 그것을 내 파일을 검색 JVM 쇼,하지만 내 fileRead 방법은 여전히 ​​나에게 오류를주고,

파일을 읽으려면 클래스 패스에 모든 프로젝트 폴더를 포함해야합니까? 미리

+0

classpath는 Java Virtual Machine 또는 컴파일러에게 사용자 정의 클래스 및 패키지를 찾을 위치를 알려주는 용도로만 사용됩니다.이 파일은 사용자의 파일과 관련이 없습니다. 작업 공간에 파일을 추가하거나 파일의 절대 경로를 지정하십시오. –

+0

이 파일들은 응용 프로그램 리소스입니까 (HTML, 버튼 아이콘 등의 도움이됩니까?)? –

답변

1

File 생성자 인수

덕분 절대 또는 상대 이름이다. 클래스 패스를 사용하지 않고, 파일 이름은 - 절대가 아닌 경우 - 항상 현재 작업 디렉토리와 관련됩니다.

1

FileReader(filename)은 Java 코드가 실행 된 디렉토리 (상대 경로)에서 "DirList.java"를 엽니 다. 어떤 식 으로든 CLASSPATH와 관련이 없습니다.