FileNotFoundException,但文件存在于正确的路径。

问题描述 投票:0回答:1

我是编程新手,每次我尝试读取一个文件。我得到FileNOtFoundException。

我可能哪里出了问题?

import java.io.*;
import java.util.Scanner;

public class ReadFile 
{
    public ReadFile()
    {
        readFile();
    }
    public void readFile()
    {
        String filename = "trees.txt";
        System.out.println(new File(".").getAbsolutePath()); //file is at this path.
        String name = "";
        try
        {
            FileReader inputFile = new FileReader(filename);
            Scanner parser = new Scanner(inputFile);
            while (parser.hasNextLine())
            {
                name = parser.nextLine();
                System.out.println(name);
            }
            inputFile.close();
        }
        catch (FileNotFoundException exception)
        {
            System.out.println(filename + " not found");
        }
    }
}

有其他方法可以读取文件吗?

java exception filenotfoundexception
1个回答
0
投票

这段代码

FileReader inputFile = new FileReader(filename);

你必须定义文件的完整路径,名称为 filename 如果不是,它将打开不在当前工作目录下的文件你应该试试

FileReader inputFile = new FileReader(new File(new File("."), filename));
// defind new File(".") it mean you will you open file in current working directory  

你可以在这里阅读更多。Java,从当前目录读取文件?


0
投票

试着打印你实际要打开的文件的路径,这样你就可以确定文件存在于正确的位置了

String filename = "trees.txt";
File file = new File(filename);
System.out.println(file.getAbsolutePath());

而且,你正在关闭 FileReader 里面 try,而不是关闭 Scanner如果发生了错误,这些资源将永远不会被关闭,你需要把这些关闭语句放在一个 finally 挡,或者用资源试试

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.