Java 读取/写入文件时处理异常
我正在尝试从文件中读取,但我不明白如何在使用try-catch块时执行此操作。。。如果发生了不好的事情,但执行这一行没有问题,我如何使它抛出异常:br.readLine()?它只是说br没有声明。如果我需要在不同的地方使用“br”和“bw”怎么办?我也要在那里申报吗Java 读取/写入文件时处理异常,java,Java,我正在尝试从文件中读取,但我不明白如何在使用try-catch块时执行此操作。。。如果发生了不好的事情,但执行这一行没有问题,我如何使它抛出异常:br.readLine()?它只是说br没有声明。如果我需要在不同的地方使用“br”和“bw”怎么办?我也要在那里申报吗 try { BufferedReader br = new BufferedReader(new FileReader(file)); BufferedWriter bw = new BufferedWriter(n
try {
BufferedReader br = new BufferedReader(new FileReader(file));
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
br.readLine();
br在try的范围内声明,因此在捕获后消失。您要执行以下操作:
BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new FileReader(file));
bw = new BufferedWriter(new FileWriter(file));
} catch (IOException e) {
e.printStackTrace();
}
br.readLine();
注意,捕获之后可能会出现空指针,因此另一个选项是将br.readLine()写入try,如下所示:
try {
BufferedReader br = new BufferedReader(new FileReader(file));
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
您已经在try块内声明了BufferedReader和BufferredWriter,并在try和catch外调用了br.readline(),因此它不知道在哪里声明了br。我有和上面相同的答案
try {
BufferedReader br = new BufferedReader(new FileReader(new File ("path_to_your_file_to read")));
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("path_to_your_file_to_write")));
br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader br = new BufferedReader(new FileReader(new File ("path_to_your_file_to read")));
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("path_to_your_file_to_write")));
br.readLine();
} catch (IOException e) {
e.printStackTrace();
}