从FileNotFoundException获取文件的文件名

时间:2016-03-14 13:10:00

标签: java

我想获取在我的java应用程序中发生文件异常时不存在的文件的文件名,以便我可以向用户发送短消息。

catch (FileNotFoundException e) {
       /* what code to put here to get the filename of the file */
        }

3 个答案:

答案 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.
 }