Java 为什么我的程序找不到我要扫描的文本文件?

Java 为什么我的程序找不到我要扫描的文本文件?,java,Java,我试着把文件放在尽可能多的地方,看看是否有任何一个能起作用。我也试着使用直接路径,但也不起作用。我有一个苹果电脑,我想知道这是不是把事情搞砸了 public static void main(String[] args) throws FileNotFoundException{ String nextString=null; PopularName nextName; String[] info=new String[5]; Scanner infile = n

我试着把文件放在尽可能多的地方,看看是否有任何一个能起作用。我也试着使用直接路径,但也不起作用。我有一个苹果电脑,我想知道这是不是把事情搞砸了

public static void main(String[] args) throws FileNotFoundException{
    String nextString=null;
    PopularName nextName;
    String[] info=new String[5];
    Scanner infile = new Scanner(new File("LastNames.txt"));    
…如果您使用

System.getProperty("user.dir");
您可以获取项目的当前根目录。 因此,如果你把一个文件放在那里,你可以阅读如下:

new FileReader(System.getProperty("user.dir") + "/LastNames.txt");

您的代码中有更多错误:

Scanner将文件作为参数FileReader在这里没有任何意义, 您不关心异常->要么尝试catch块,要么您的方法必须将其抛出到更高级别-请参阅下面的工作示例。 文件的路径应相对于绝对值项目的根

public class Main {
    public static void main(String[] args) throws FileNotFoundException {
        Scanner inFile = new Scanner(new File("file.txt"));
        while (inFile.hasNext()) {
            System.out.println(inFile.next());
        }
    }
}

如果不显示代码,就很难判断bug的位置是实际代码,而不是图像,因为图像也会在代码发布文本中添加一个try-catch,不是图像。@ElliottFrisch但FileReader也有一个FileReaderString构造函数。@ElliottFrisch FileReader有一个接受文件路径的构造函数谢谢你,我更改了它,但是当我运行它时,它仍然找不到文件。然后试着使用文件的绝对路径。这应该会-或者可能存在文件权限问题。。。