【问题标题】:Java- Issue with opening and Scanning fileJava-打开和扫描文件的问题
【发布时间】:2013-12-17 11:44:14
【问题描述】:

我正在用 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));

【问题讨论】:

  • 您正在从 System.in 中读取...所以您不是从文件中读取,而是从系统输入中读取。

标签: java bufferedreader inputstreamreader


【解决方案1】:
    Scanner scanner = new Scanner(System.in);
    String fileName = scanner.next();
    scanner.nextLine();

    FileReader file = new FileReader(fileName);

    BufferedReader br = new BufferedReader(FileReader);

【讨论】:

    【解决方案2】:

    试试

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

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

    也感谢@user1009560,您可以使用

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

    【讨论】:

    • BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
    • 我试过这个我得到:未报告的异常 java.io.FileNotFoundException;必须被捕获或声明被抛出 BufferedReader br = new BufferedReader(new FileReader(fileName));
    • FileNotFoundExceptionchecked exception
    • 我处理了这个,但是当我编译它说找不到文件名的符号。 try 块中应该有什么?我有这个:try{System.out.println("请输入您要扫描的文件名:");字符串文件名 = scan.nextLine();文件文件 = 新文件(文件名); BufferedReader br = new BufferedReader(new FileReader(fileName)); }
    • 问一个不同的问题。在 cmets 中回答您的查询没有任何意义。这不是论坛。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      相关资源
      最近更新 更多