【发布时间】:2021-05-30 06:10:15
【问题描述】:
我已经尝试阅读一个文本文件超过一天了,但无论我做什么,它总是出错。
我将简化我的代码:
我有一个文件对象:
File file = new File(System.getProperty(user.dir) + "/src/com/ksa/voetje/savedFiles/savedSettings.txt");
如果我将目录打印出来,我会得到“/Users/jonaseveraert/IdeaProjects/Voetje KSA/src/com/ksa/voetje/savedFiles/savedSettings.txt”。
我还有一个扫描仪,这就是我不断出错的地方:
Scanner reader = null;
try {
reader = new Scanner(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
我不断收到 FileNotFoundException,即使文件在那里! 这是错误消息(reader = new Scanner(file) 在第 42 行):
java.io.FileNotFoundException: /Users/jonaseveraert/IdeaProjects/Voetje KSA/src/com/ksa/voetje/savedFiles/savedSettings.txt/Users/jonaseveraert/IdeaProjects/Voetje KSA/src/com/ksa/voetje/savedFiles/savedSettings.txt (Not a directory)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:211)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:153)
at java.base/java.util.Scanner.<init>(Scanner.java:639)
at com.ksa.voetje.savedFiles.FileReader.readLines(FileReader.java:42)
at com.ksa.voetje.instellingen.previousSettings.SettingsReader.getPreviousSettings(SettingsReader.java:22)
at com.ksa.voetje.instellingen.previousSettings.SettingsReader.<init>(SettingsReader.java:14)
at com.ksa.voetje.instellingen.previousSettings.PreviousSettings.<init>(PreviousSettings.java:11)
at com.ksa.voetje.display.DisplaySystem.<init>(DisplaySystem.java:94)
at com.ksa.voetje.Main.start(Main.java:16)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
错误告诉我我给文件的路径不是目录,我不明白为什么它会给我这个错误。
有人可以帮帮我吗?
【问题讨论】:
-
在错误消息中的 url 是
/Users/jonaseveraert/IdeaProjects/Voetje KSA/src/com/ksa/voetje/savedFiles/savedSettings.txt/Users/jonaseveraert/IdeaProjects/Voetje KSA/src/com/ksa/voetje/savedFiles/savedSettings.txt为什么路径重复两次?在使用扫描仪之前,您是否对路径对象进行了处理? -
@onkarruikar 我没有注意到,我必须找出我的代码有什么问题
标签: java exception java-io filenotfoundexception file-not-found