我正在修补一个小型应用程序以从文件中读取一些数字。到目前为止一切都运行良好,但现在我遇到了一个我不知道如何有效解决它的问题。如果用户无意中输入了错误的文件名,JVM 将抛出 FileNotFoundException,我在调用方法中捕获了该文件名。现在我想再给他(用户)两次尝试输入正确的文件名,但我不知道如何再次调用打开文件的方法,当我实际上在下面的捕获块中时。我将在下面说明我的临时解决方案,但我不确定这是否是解决此问题的最有效/最优雅的方法:
//code omitted
int temp = 0;
while(true) {
filename = input.next();
try {
ex.fileOpen(filename);
}
catch(FileNotFoundException e) {
if(temp++ == 3) {
System.err.println("You have entered the filename three times consecutively wrongly");
return;
}
continue;
}
break;
}
//do some other stuff
input 是一个扫描器,它读取用户输入并将其分配给字符串变量文件名。fileOpen 是一种获取文件名、打开文件、读取内容并将所有数字写入向量的方法。
所以,我非常感谢更有经验的 Java 程序员的每一次支持。
问候汤姆