在java中找不到文件
我在用java读取文本文件时遇到问题。该类是FlashCardReader,我有下面的构造函数来处理读取部分在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
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如何知道文件的路径?因为我的问题是获取指向该文件的空指针。你太棒了。谢谢,我发现我的文件夹被放在另一个文件夹里,这其实很奇怪,哈哈。干杯