2012-02-15 4 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; 
    } 
} 

と私の主な見つけることができません:それは本当にここで私のファイルを検索し、JVM私の方法は、ディレクトリ内のファイル

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()ショーを、私fileRead方法はまだ

、私にエラーを与えています

ファイルを読み込むには、クラスパス内のすべてのプロジェクトフォルダを含める必要がありますか?予め

+0

classpathは、Java仮想マシンまたはコンパイラにユーザー定義のクラスとパッケージを検索する場所を指示するためにのみ使用されます。このファイルは、ファイルとは関係ありません。ワークスペースにファイルを追加するか、ファイルへの絶対パスを指定します。 –

+0

これらのファイルはアプリケーションのリソース(ヘルプHTML、ボタンアイコンなど)ですか? –

答えて

1

Fileコンストラクタ引数に

おかげで、絶対的または相対的なファイル名です。これはクラスパスを使用せず、ファイル名は絶対パスではないにしても常に現在の作業ディレクトリからの相対パスです。

1

FileReader(filename)は、Javaコードが実行されたディレクトリ(相対パス)に "DirList.java"を開きます。これはCLASSPATHには何ら関係ありません。