Java-打开和扫描文件的问题

时间:2013-12-01 20:32:15

标签: java bufferedreader inputstreamreader

我正在用Java编写程序,它扫描文件,计算线条,字符,回文,单词。我的问题是当我要求文件名时,我使用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));

3 个答案:

答案 0 :(得分:1)

尝试

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

实际上,您正在指定您的阅读器InputStreamReader以便从系统中读取System.in,尽管您正在尝试读取文件。所以你必须使用FileReader。见How to read file in Java

还要感谢@ user1009560,你可以使用

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));

答案 1 :(得分:1)

    Scanner scanner = new Scanner(System.in);
    String fileName = scanner.next();
    scanner.nextLine();

    FileReader file = new FileReader(fileName);

    BufferedReader br = new BufferedReader(FileReader);

答案 2 :(得分:0)

您正在将System.ream创建一个InputStreamReader对象作为inputStream属性。您需要为FileStream指定一个FileInputStream。