我尝试通过命令行读取文本文件时FileNotFoundException

时间:2013-11-13 19:30:55

标签: java eclipse command-line-arguments filenotfoundexception

我在eclipse中构建了一个使用txt文件的项目。该文件位于主文件夹项目中。

我通过命令行获取文件名作为参数,我得到FileNotFoundException。我尝试使用Scanner对象,并从eclipse获取文件名作为输入..它的工作原理。 (我只插入文件名:file.txt。不是完整路径) 那么为什么通过eclipse它的工作和命令行呢?

谢谢你! 这是例外:

  java.io.FileNotFoundException: bigMaze.txt (The system cannot find the file spec
    ified)
            at java.io.FileInputStream.open(Native Method)
            at java.io.FileInputStream.<init>(FileInputStream.java:146)
            at java.io.FileReader.<init>(FileReader.java:72)
            at BFS.BFS.readFile(BFS.java:43)
            at BFS.BFS.InsertMaze(BFS.java:57)
            at BFS.BFS.StartMain(BFS.java:16)
            at search.main(search.java:20)
    Exception in thread "main" java.lang.NullPointerException
            at BFS.BFS.InsertMaze(BFS.java:62)
            at BFS.BFS.StartMain(BFS.java:16)
            at search.main(search.java:20)

2 个答案:

答案 0 :(得分:3)

如果您从命令行运行,请尝试将该文件放在与.class文件相同的目录中

ProjectRoot
       bin
          file.txt
          program.class
       src

如果程序是从eclispe运行的,那么该文件应该放在原来的位置。直接在项目根目录下。

这都考虑到您使用String filename = "file.txt";

运行程序

答案 1 :(得分:0)

我认为问题在于你的txt文件的路径名。在命令提示符的情况下,您必须提供完整的路径,如:“MyComputer://D/yourFile.txt”,但使用eclipse,您只能提供“D://yourFile.txt”。它会起作用。