我一直在尝试使用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);
}
}
}
}
答案 0 :(得分:0)
1)错误很简单,首先你应该使用new FileReader
(小写n
)而不是New FileReader
(大写N
)。
2)在将else
处理程序附加到catch
块之前,您已关闭try
块。
我现在已经纠正了这两个问题,下面的代码应该编译。
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);
}
}