【发布时间】:2016-01-02 20:57:37
【问题描述】:
我不明白为什么我不能让扫描仪读取我的 .txt 文件。最后,我只好将数据作为字符串存储在我的程序中。但我仍然想知道为什么 Scanner 没有看到这个文件。
Scanner scan = new Scanner(new File("Test.txt"));
我也试过了:
Scanner scan = new Scanner(new File("C:/Users/myusername/Desktop/Test.txt"));
两者都导致 FileNotFoundException 被抛出。
文本文件位于类文件和源文件所在的同一目录。
有谁知道怎么回事?
好吧,这真的很糟糕。我只是不知道为什么会这样。我知道该文件存在的事实。
System.out.println(System.getProperty("user.dir"));
表明我所在的目录是正确的。
其他人有什么想法吗?
【问题讨论】:
-
您确定该文件确实存在吗?你能打开一个资源管理器并在路径中转储吗?
-
第一种情况,文件需要在当前目录下,不一定是'类文件和源文件在同一个目录'。在第二种情况下,您一定是文件名错误。
-
正如@Tim 正确指出的那样,路径是无效的。 Windows 路径应该包含反斜杠
-
@vikasn91 不,他们没有。我刚刚在 Windows 上运行的 IntelliJ 上进行了测试,它们都可以工作。
-
但 不是 如果它们是正斜杠,只有反斜杠。如果他使用未转义的反斜杠,他的代码甚至不会编译,这会给他带来与他在此处发布的错误不同的错误。
标签: java io java.util.scanner java-io