0

ファイルbig.txtを読み取って HashMap にデータを追加しました。classフォルダー内のファイルと一緒にファイルを配置しましたbin

ただし、使用したいときはいつでも、というエラーが表示されますjava.io.FileNotFoundException ( No such file or directory )

これはどのように起こっていますか?

public ClassName() throws IOException{
        URL url = ClassName.class.getResource("big.txt");
        File file = new File(url.getPath());
        BufferedReader inp= new BufferedReader(new FileReader(file));
        // some code
        }
        inp.close();        
    }

なぜこうなった ?ここで私を助けてください!

4

3 に答える 3

3

クラスパス上にある任意のリソースにアクセスできます

public ClassName() throws IOException{
        // the path to your file is relative to the package of ClassName
        InputStream input = ClassName.class.getResourceAsStream("big.txt"); 

        BufferedReader inp = new BufferedReader(new InputStreamReader(input));

        // some code

        inp.close();        
}

また

URL url = ClassName.class.getResource("big.txt");
// check for null first
InputStream input = url.openStream();
BufferedReader inp = new BufferedReader(new InputStreamReader(input));
于 2013-05-03T18:58:25.493 に答える
1

Eclipse を使用している場合、設定によっては、ファイルの bin フォルダー内ではなく、実際にはプロジェクト フォルダー内に表示されると思います。big.txt をそこに移動してみる必要がありますが、コードを変更したい場合は、他の回答も適しています。

于 2013-05-03T19:05:20.830 に答える
0
public ClassName() throws IOException{
        Scanner in = new Scanner(getClass().getResourceAsStream("big.txt"));
        //your stuff       
}
于 2013-05-03T18:56:04.870 に答える