1

次のコードがあります。

    BufferedReader inFromUser =
            new BufferedReader(new InputStreamReader(System.in));

    System.out.print("Enter: ");

    String m = inFromUser.readLine();

    BufferedReader br = new BufferedReader(new FileReader(m));

    String text;

    while((text = br.readLine()) != null){
        System.out.println(text);
    }

    br.close();

また、ユーザーから文字列を読み取ると、ファイルが見つかりません。文字列が渡されたときに何が起こっているのかわかりませんが、見つからなくなります。ファイルは非常にたくさんありますが。

テストを実行しましたが、newFileReader(m) を newFileReader("Lab3/test") に置き換えるとファイルが見つかりましたが、システムに「Lab3/test」を入力すると (文字列 m = inFromUser.readLine( を介して) );) それを読み取るには、読み込まれて「Lab3/test」として出力されますが、文字列がまったく同じ場合、文字列がファイル リーダーに (m 経由で) 渡されると、ファイル リーダーはファイルを見つけられません。

私は少しグーグルで検索しましたが、それを説明しようとするのは面倒です。

よろしくお願いします、サム

4

1 に答える 1

3

引用符なしでファイル名を入力する必要があります。引用符を付けて入力する場合は、ファイル名にも引用符を含める必要があります。

などのファイル名を使用するLab3/testと、Java は現在の作業ディレクトリでファイルを検索します。現在の作業ディレクトリは通常、アプリケーションが開始された場所です。などの完全な絶対ファイル名を入力すると、簡単になる場合がありますC:\Users\Smithers\Dropbox\Software Engineering Code\Eclipse\Networking\Lab3\test

バックスラッシュを使用するかスラッシュを使用するかは問題ではありません。

于 2012-05-06T15:49:01.657 に答える