以下代码段引发错误 1.当输入文件路径无效时-FILENOTFOUNDEXCEPTION 2.在excel中打开输出文件时-FILENOTFOUNDEXCEPTION表示该文件是在另一个进程中打开的
我建议用户检查输入文件路径或关闭打开的excel(或在记事本中打开)。我如何分别捕获它们?
try(FileReader fr = new FileReader("D:/Test.log");
BufferedReader br = new BufferedReader(fr);) {
doSomething(br);
//writing to CSV
String[] arr = {"aaa","bbb"};
FileWriter outputfile= new
FileWriter("D:/output.csv",false);
CSVWriter writer = new CSVWriter(outputfile);
writer.writeNext(arr);
writer.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:0)
您应将代码分为两个try / cath语句
BufferedReader br;
try {
FileReader fr = new FileReader("D:/Test.log");
br = new BufferedReader(fr);
} catch (FileNotFoundException e) {
e.printStackTrace();
log.error("Input file not found");
} catch (IOException e) {
e.printStackTrace();
}
doSomething(br);
//writing to CSV
String[] arr = {"aaa","bbb"};
try {
FileWriteroutputfile = new FileWriter("D:/output.csv",false);
CSVWriter writer = new CSVWriter(outputfile);
writer.writeNext(arr);
writer.close();
} catch (IOException e) {
e.printStackTrace();
log.error("Output file already in use");
}