10

テキストファイルを読み取るための次のコードがあります。

public static void main(String[] args)
{
    try 
    {
    Scanner in = new Scanner(new FileReader("input.txt"));
    while(in.hasNext())
    {
        System.out.println(in.next());
    }
} 
catch (FileNotFoundException ex) 
{
    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}

プロジェクト構造を次のように設定しています。

build/ directory contains class
dist/  directory contains the jar file 
src/ directory contains source
input.txt the text file to read

テキストファイルを、、および と同じディレクトリにあるinput.txtというディレクトリに配置した場合、このファイルを見つけることができるようにするには、 のパラメータに何を入力する必要がありますか?testbuilddistsrcfilereader

4

2 に答える 2

10

Netbeans IDE 内で実行する場合、作業ディレクトリはプロジェクトのルートであるため、質問に答えるには、「test/input.txt」です。

ただし、これはコードのテストにはまったく問題ありませんが、最終的な (本番) コードでこのような相対パスを操作するのは難しい場合があることに注意してください。そのような場合、ファイルを jar 内のリソースとしてラップし、それをリソースストリームとして開くことがより良い解決策になるか、もちろん絶対パスで作業することができます。

于 2013-07-13T14:35:45.253 に答える
5

サブディレクトリの名前がわかっている場合は、そのまま使用してください

Scannner in = new Scanner(new FileReader("test/input.txt"));
于 2013-07-13T14:35:47.590 に答える