0

次のコードでは、「(そのようなファイルまたはディレクトリはありません)」というエラーが発生し続けます。

public void readFile() throws IOException {
        reader = new BufferedReader(new FileReader("map1.txt"));

    while(true) {
        String line = reader.readLine();
        System.out.println(line);
        if(line == null) {
            reader.close();
            break;
        }
    }
}

画像などを実際に読み込もうとすると、同じエラーが発生します。しかし、ファイルリーダーの使用方法について私が見た例では、すべてファイルの名前を入力するだけで、他には何も入力していません。この場合、マップはマップと呼ばれるsrcファイルの別のフォルダーにあります。「/Maps/map1.txt」のさまざまな仕様を試しましたが、何も機能しないようです。このファイルを読み取るにはどうすればよいですか?

(私もMacを使用しています。それで状況が変わるかどうかはわかりません。)

アップデート

netBeansのせいのようです。プロジェクトフォルダのみが表示されます。後でこれを改善する方法を尋ねる別のトピックを開始すると思います。皆様のご協力ありがとうございました。

4

3 に答える 3

2

/Maps/map1.txtは、最上位ディレクトリから始まる絶対パスです。./Maps/map1.txtマップの上のディレクトリからJavaアプリを実行している限り、試してみてください。

于 2012-07-02T23:13:53.093 に答える
1

役に立つかもしれない私のプログラムのいくつかの部分を抽出しました:

FileInputStream configFile = new FileInputStream("javalogging.properties");

上記の場合、ファイルはsrcフォルダーと同じレベルにあります(つまり、ソースフォルダーの外にあります)。

    FileInputStream configFile = (FileInputStream)
              MyClass.class.getResourceAsStream("/javalogging.properties");

上記の場合は、必ずMyClassクラス名に置き換えて、ファイルをソースフォルダー内に配置してください(プロパティがjarファイル内にある方法でアプリケーションをデプロイする場合に便利です)。

以下に示すように、bufferedReaderを使用して、パス全体を使用しました。

File file = new File(filePath+fileName);
BufferedReader r = new BufferedReader (new FileReader(file.getAbsoluteFile()));
于 2012-07-02T23:42:44.937 に答える
0

この場合、マップはマップと呼ばれるsrcファイルの別のフォルダーにあります。

src私はあなたがあなたのJavaファイルを持っているという名前のフォルダを持っていると仮定します。この同じフォルダに、という名前のフォルダがありMapsますmap1.txt

今、

reader = new BufferedReader(new FileReader( "map1.txt"));

現在のディレクトリにあるmap1.txtファイルを開こうとします。これがどのディレクトリであるかは、使用するIDEによって異なります。しかし、あなたはそれを変えることができるはずです。

あなたがそれをファイルを持っているフォルダに変えるならば、それは働くはずです。

于 2012-07-02T23:22:39.097 に答える