java.io.FileNotFoundException:(系统找不到指定的文件)

java.io.FileNotFoundException:(系统找不到指定的文件),java,file,Java,File,我有一个从这里发布的文件返回字符串的工作代码 现在我有另一个问题要解决。下面是代码和我的问题 public String findFile() { String bookId = ""; blist = lRef.getBookArrayList(); for (int i = 0; i < blist.size(); i++) { bookId =(blist.get(i).getIsbn());}

我有一个从这里发布的文件返回字符串的工作代码

现在我有另一个问题要解决。下面是代码和我的问题

public String findFile()
    {
        String bookId = "";
        blist = lRef.getBookArrayList();
        for (int i = 0; i < blist.size(); i++) {
            bookId =(blist.get(i).getIsbn());}
        String filenameToRead = bookId + ".txt";
        String path = "files";
    //  File folder = new File(path);       //im not using those yet as they wouldnt work   
    //  File infile = new File(path,filenameToRead);

        String line = "";
        try {
                File myFile = new File("files", "ISBN 123-654.txt");
                System.out.println(myFile);
               BufferedReader br = new BufferedReader(new FileReader(myFile));
            while ((line = br.readLine()) == null) {          
                 br.close();}
             } 
             catch (IOException e) {
                 e.printStackTrace();
             }
    return line;
    }
如果我把它打印出来,它看起来像ISBN 123-654.txt,它是正确的 如果我在这里使用filenameToRead而不是硬编码文件名

File myFile = new File("files", filenameToRead );
它给了我一个FileNotFoundException。
有什么想法吗?

该.txt文件必须位于文件文件夹中,并且该文件夹位于当前目录中。是否使用Java 7?另外,您的阅读代码是brokenyes,java7。伙计们,我只改变了代码中的一个变量,文件名。其他一切都一样。它使用文件的硬编码名称,而不使用FileName重新打印myFile变量的完整路径。myFile.getAbsolutePath。它将显示您试图访问的文件。通常工作目录是项目根目录。尝试使用新文件isbn 123-654.txt,并将该文件放在项目根目录中,看看会发生什么。
File myFile = new File("files", filenameToRead );