1

ファイルをスキャンし、行、文字、回文、単語を数えます。私の問題は、ファイル名を要求するときです。BufferedReader と InputStreamReader を使用して、ユーザーが提供したファイルをスキャンし、結果を別のファイルに出力します。プログラムはコンパイルされ、ファイルの名前を入力しても何も起こりません。終了せず、スタックしたままです。これが BufferedReader のコードです。コード全体が必要な場合は、投稿します

System.out.println("Enter the name of the file you would like to scan: ");
                        String fileName = scan.nextLine();

                        File file = new File(fileName);



          BufferedReader br = new BufferedReader(newInputStreamReader(System.in));
4

3 に答える 3

1

試してみてください

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

実際には、ファイルを読み取ろうとしているかのようにInputStreamReader、システムから読み取るようにリーダーを指定しています。System.inしたがって、使用する必要がありますFileReaderJavaでファイルを読む方法を参照してください

また、@ user1009560のおかげで使用できます

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
于 2013-12-01T20:36:06.790 に答える
1
    Scanner scanner = new Scanner(System.in);
    String fileName = scanner.next();
    scanner.nextLine();

    FileReader file = new FileReader(fileName);

    BufferedReader br = new BufferedReader(FileReader);
于 2013-12-01T20:42:01.033 に答える
0

inputStream プロパティとして System.in として InputStreamReader オブジェクトを作成しています。InputStream として FileInputStream を指定する必要があります。

于 2013-12-01T20:35:25.820 に答える