我想获取在我的java应用程序中发生文件异常时不存在的文件的文件名,以便我可以向用户发送短消息。
catch (FileNotFoundException e) {
/* what code to put here to get the filename of the file */
}
答案 0 :(得分:2)
这应该显示不存在的文件路径:
try {
//access file
} catch(FileNotFoundException e) {
System.out.println(e.getMessage());
}
输出,用于创建Scanner
new Scanner(new File("C:/filetest"))
:
C:\ filetest(系统找不到指定的文件)
答案 1 :(得分:2)
除非您解析catch
块中的堆栈跟踪,否则无法正确编写文件名。
答案 2 :(得分:1)
您可以将文件名存储在try块之外,即:
String filename = ...
try {
// process file
} catch (FileNotFoundException e) {
String message = String.format("The file % could not be found.", filename);
// Show message to user
}
或者您可以在尝试访问该文件之前检查该文件是否存在:
File file = new File(filename);
if (!file.exists()) {
// Show error to user.
}