【问题标题】:FileNotFoundException when I try to read txt file via Command Line当我尝试通过命令行读取 txt 文件时出现 FileNotFoundException
【发布时间】:2013-11-13 19:30:55
【问题描述】:

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

我通过命令行获取文件名作为参数,然后得到FileNotFoundException。我尝试使用Scanner Object 并从 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)

【问题讨论】:

  • 请显示一些代码和堆栈跟踪
  • 这看起来像是 CWD 问题...您的文件的路径是相对吗?如果是这样,你有没有cd'd 进入正确的目录?

标签: java eclipse command-line-arguments filenotfoundexception


【解决方案1】:

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

ProjectRoot
       bin
          file.txt
          program.class
       src

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

这都是考虑到你用String filename = "file.txt";运行程序

【讨论】:

  • 谢谢!我将文本文件添加到 BIN 文件夹,它正在工作!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    相关资源
    最近更新 更多