在java中找不到文件

在java中找不到文件,java,file,exception,Java,File,Exception,我在用java读取文本文件时遇到问题。该类是FlashCardReader,我有下面的构造函数来处理读取部分 public FlashCardReader( String fileName ) { try{ reader = new BufferedReader(new FileReader(fileName)); }catch(FileNotFoundException e){ System.out.println("The file was

我在用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");
}
最后的输出是:找不到文件,或者名称可能错误


非常感谢您的帮助,干杯

您可以使用此java代码打印java程序的当前目录

System.out.println("CurrentDir: " + (new File(".").getCanonicalPath()));
说它是印刷品

CurrentDir: D:\pkr\test
然后您可以正确选择一个路径,通过该路径可以正确定位文件

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

。\\Questions.txt

应该可以读取您的文件


让我知道这是否有效。

好吧,你的Questions.txt文件在src文件夹中,我怀疑你的java程序是从这个文件夹执行的。将完整路径添加到此文件,它应该可以工作。@marcinj很抱歉,您所说的“我怀疑您的java程序是从这个文件夹执行的”是什么意思。我可以向您发送一张图片,显示它们都在同一个目录中。通常IDE-s将在生成文件夹中生成.class文件,并从该文件夹中执行它们。要确定FileReader正在查找的绝对路径,请使用
File.getAbsolutePath()
方法。例如:
文件读取器=新文件(文件名)
System.out.println(reader.getAbsolutePath())
@DmitryBogdanovich欢呼,但是如果文件指向null,IDE如何知道文件的路径?因为我的问题是获取指向该文件的空指针。你太棒了。谢谢,我发现我的文件夹被放在另一个文件夹里,这其实很奇怪,哈哈。干杯