-1
    Scanner user = new Scanner(System.in);
    String word;

    System.out.println("Location of file: ");
    word = user.nextLine();

    FileReader fileOpen = new FileReader(word);
    BufferedReader fileRead = new BufferedReader(fileOpen);

如果用户输入了错误的文件目标,我该如何进行错误检查?

我得到:

    java.io.FileNotFoundException:

当输入了无效的文件目标时。

我想让程序说类似

System.out.println("Invalid directory");

当我尝试时,我收到方法 isDirectory() 和 exists() 的错误,告诉我它们对于 String 类型不存在:

if (word.exists())
{
  //do blah blah
}
else 
{
  //Print error
}
4

2 回答 2

6

将您的话包含在 File 中,然后进行检查:

if (new File(word).exists())
{
  //do blah blah
}
else 
{
  //Print error
}

或者,您可以在抛出异常时捕获它:

Scanner user = new Scanner(System.in);
String word;

System.out.println("Location of file: ");
word = user.nextLine();

try {
    FileReader fileOpen = new FileReader(word);
    BufferedReader fileRead = new BufferedReader(fileOpen);
} catch (FileNotFoundException fnf) {
    // print an error
}
于 2013-02-11T17:08:26.430 回答
0

创建一个“word”的文件实例,然后检查它是否存在。对于异常,用 try 和 catch 包围它,在 catch 中:如果它不存在,则放置要运行的代码。

于 2013-02-11T17:08:37.163 回答