Java 如何在try catch中使用BufferedReader?

Java 如何在try catch中使用BufferedReader?,java,bufferedreader,Java,Bufferedreader,我已经尝试使用bufferedreader好几次了,但每次都出现一些表单错误。这是时候它是“不是一个声明”和“预期”也“捕获不尝试”。我在try(bufferedreader)行中不断遇到错误。我用的对吗?我只是尝试一下,不太清楚它是如何工作的。从在线资源看,我的代码看起来不错。但当我自己运行时,它会给我错误 import java.io.BufferedReader; import java.io.FileReader; import java.io.FileNotFoundException

我已经尝试使用bufferedreader好几次了,但每次都出现一些表单错误。这是时候它是“不是一个声明”和“预期”也“捕获不尝试”。我在try(bufferedreader)行中不断遇到错误。我用的对吗?我只是尝试一下,不太清楚它是如何工作的。从在线资源看,我的代码看起来不错。但当我自己运行时,它会给我错误

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;


public class Problem2 {
    public static void main(String [] args) {
        if(args.length != 1){
            System.out.println("Please enter a txt file");
        }
        else{
            String s;
            try (BufferedReader br = new BufferedReader(New FileReader(args[0]))) {
                while ( (s = br.readLine()) != null) {
                    String[] words = s.split("[^a-zA-Z0-9]+");
                    for(int i = 0; i < words.length; i++){
                        //code
                        }
                    }
                }
                br.close();
            }
            catch (FileNotFoundException ex){
                System.out.println(ex);
            }
            catch (IOException ex){
                System.out.println(ex);
            }
        }
    }
}
导入java.io.BufferedReader;
导入java.io.FileReader;
导入java.io.FileNotFoundException;
导入java.io.IOException;
公共类问题2{
公共静态void main(字符串[]args){
如果(args.length!=1){
System.out.println(“请输入一个txt文件”);
}
否则{
字符串s;
try(BufferedReader br=new BufferedReader(new FileReader(args[0])){
而((s=br.readLine())!=null){
字符串[]字=s.split([^a-zA-Z0-9]+”;
for(int i=0;i
1)错误很简单,首先,您应该使用
新文件读取器
(小写
n
),而不是
新文件读取器
(大写
n

2) 在将
catch
处理程序附加到
try
块之前,您正在关闭
else

我现在已经纠正了这两个问题,下面的代码应该可以编译

if(args.length != 1){
     System.out.println("Please enter a txt file");
}
else{
    String s;
    try (BufferedReader br = new BufferedReader(new FileReader(args[0]))) {
      while ( (s = br.readLine()) != null) {
         String[] words = s.split("[^a-zA-Z0-9]+");
         for(int i = 0; i < words.length; i++){
           //code
         }
      }
      br.close();
    }catch (FileNotFoundException ex){
         System.out.println(ex);
    }
    catch (IOException ex){
        System.out.println(ex);
    }
}
if(args.length!=1){
System.out.println(“请输入一个txt文件”);
}
否则{
字符串s;
try(BufferedReader br=new BufferedReader(new FileReader(args[0])){
而((s=br.readLine())!=null){
字符串[]字=s.split([^a-zA-Z0-9]+”;
for(int i=0;i
新文件阅读器
应该是
新文件阅读器
这是什么
/code>下?你不需要
br.close()
如果使用try with resources语句:
try(BufferedReader br=new BufferedReader(new FileReader(args[0]))