FileNotFoundException,但文件存在于正确的路径。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FileNotFoundException,但文件存在于正确的路径。相关的知识,希望对你有一定的参考价值。
我是编程新手,每次我尝试读取一个文件。我得到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");
有其他方法可以读取文件吗?
答案
这段代码
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,从当前目录读取文件?
另一答案
试着打印你实际要打开的文件的路径,这样你就可以确定文件存在于正确的位置了
String filename = "trees.txt";
File file = new File(filename);
System.out.println(file.getAbsolutePath());
而且,你正在关闭 FileReader
里面 try
,而不是关闭 Scanner
如果发生了错误,这些资源将永远不会被关闭,你需要把这些关闭语句放在一个 finally
挡,或者用资源试试
以上是关于FileNotFoundException,但文件存在于正确的路径。的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio“FileNotFoundException:无法加载程序集”问题,但没有文件名?
当 UDF 使用一些外部资源文件但在本机运行时,为啥 Hive 错误 FileNotFoundException?
Android (Studio) FileNotFoundException 但文件在 SD 卡上
asp net core - 文件下载结果为 FileNotFoundException
在我的Spring Boot项目中,当我将文件目录更改为src / main / resources时发生了FileNotFoundException