【问题标题】:File not found java找不到文件 java
【发布时间】:2018-11-28 18:46:58
【问题描述】:

在 java 中读取文本文件时遇到问题。该类是 FlashCardReader,我有以下构造函数来处理读取部分。

public FlashCardReader( String fileName ) {
    try{

        reader = new BufferedReader(new FileReader(fileName));

    }catch(FileNotFoundException e){
        System.out.println("The file was not found or the name may be wrong!");
    }
}

我的主要方法是这样的:

public static void main(String[] args) {
    FlashCardReader fcr = new FlashCardReader("Questions.txt");
}

最后的输出是:文件没有找到或者名字可能有误!

我们将不胜感激,干杯!

【问题讨论】:

  • 好吧,你的 Questions.txt 在 src 文件夹中,我怀疑你的 java 程序是从这个文件夹执行的。添加此文件的完整路径,它应该可以工作。
  • @marcinj 对不起,“我怀疑你的 java 程序是从这个文件夹执行的”是什么意思。我可以给你发一张图片,显示它们都在同一个目录中。
  • 通常IDE-s会在build文件夹中生成.class文件并从这个文件夹中执行。
  • 要找出 FileReader 正在寻找的绝对路径,请使用 File.getAbsolutePath() 方法。例如:File reader = new File(fileName); System.out.println(reader.getAbsolutePath());
  • @DmitryBogdanovich 欢呼,但如果文件指向 null,IDE 如何知道文件的路径?因为我的问题是获取指向该文件的 Null 指针。

标签: java file exception


【解决方案1】:

你可以用这个java代码打印你的java程序的当前目录,

System.out.println("CurrentDir: " + (new File(".").getCanonicalPath()));

说它打印,

CurrentDir: D:\pkr\test

那么您就可以正确选择一个路径,通过该路径您的文件可以正确定位。

很可能,您的 src 文件夹应该位于 test 目录中,在这种情况下,您可以将文件从 src 文件夹移动到 test 文件夹,或者像这样在代码中引用您的文件,

..\\Questions.txt

应该能够读取你的文件。

让我知道这是否有效。

【讨论】:

  • 你太棒了。谢谢,我发现我的文件夹放在另一个文件夹中,这实际上很奇怪,哈哈。干杯!
猜你喜欢
  • 2014-06-06
  • 2021-02-09
  • 2014-03-05
  • 2013-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多