我已经尝试了所有可以在互联网上找到的内容,但似乎没有任何解决方法。我恳求帮助,告诉我我做错了什么。我是Java的新手。谢谢!
import java.util.Scanner;
class File_Scanner {
public static void read() {
File credentials_file = new File("credentials.txt");
Scanner file_reader = new Scanner(credentials_file);
String[] users = new String[6];
int index_counter = 0;
try {
while (file_reader.hasNextLine()) {
users[index_counter] = file_reader.nextLine();
}
file_reader.close();
} catch (Exception e) {
System.out.println(e.getClass());
}
}
}
这显示了以下错误
Unreported exception FileNotFoundException; must be caught or declared to be thrown
最佳答案
我想建议将整个read
函数用try/catch
块包围,如下所示。
import java.util.Scanner;
class File_Scanner{
public static void read(){
try {
File credentials_file = new File("credentials.txt");
Scanner file_reader = new Scanner(credentials_file);
String[] users = new String[6];
int index_counter = 0;
while (file_reader.hasNextLine()) {
users[index_counter] = file_reader.nextLine();
}
file_reader.close();
} catch (Exception e) {
System.out.println(e.getClass());
}
}
}
try/catch
的想法是避免在运行程序时可能发生的任何错误。在您的情况下,如果未找到或删除Scanner file_reader = new Scanner(credentials_file);
,则credentials_file
可能会引发错误。因此,您需要在try
块周围进行覆盖,这将为您提供一个异常,可以对其进行处理以在catch
块中显示正确的响应消息。希望有帮助!