我运行以下代码,程序返回 FileNotFoundException:
public void read()
{
Scanner scanner = new Scanner(new File("/project_folder_name/data.in"));
while (scanner.hasNextLine())
{
System.out.println(scanner.nextLine());
}
}
我尝试过在项目根文件夹、包文件夹和任意文件夹(即/User/.../Desktop/data.in)中使用 data.in 文件,并且我总是得到相同的结果:
示例:
//relative path (for when data.in is within project root folder)
Scanner scanner = new Scanner(new File("data.in"));
//path for when data.in is moved in package
Scanner scanner = new Scanner(
new File("/project_folder_name/source_folder_name/package_name/data.in"));
这些都不起作用。
我正在 Eclipse IDE 中运行该程序。
最佳答案
我必须使用try/catch来避免异常中断程序:
public void read()
{
try
{
Scanner scanner = new Scanner
(new File("data.in"));
while (scanner.hasNextLine())
{
System.out.println(scanner.nextLine());
}
}
catch(IOException ex)
{
ex.printStackTrace();
}
}
在这种情况下,这也适用于:
"C:\\Users\\...\\Desktop\\data.in"
"/Users/.../Desktop/data.in"
"data.in"(if it's in the root folder)
关于java - 在项目根文件夹中找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25995969/