【发布时间】:2013-10-18 21:54:40
【问题描述】:
我有一个 CS 课的作业,它说要读取一个包含多个测试分数的文件,并要求我对它们求和并取平均值。虽然求和和平均很容易,但我在读取文件时遇到了问题。老师说要用这个语法
Scanner scores = new Scanner(new File("scores.dat"));
但是,这会引发FileNotFoundException,但我一遍又一遍地检查该文件是否存在于当前文件夹中,然后,我认为它必须对权限做一些事情。我为每个人更改了读写权限,但它仍然不起作用,它仍然不断抛出错误。有谁知道为什么会发生这种情况?
编辑:它实际上指向一个目录,但是,我已经解决了这个问题。现在file.exists() 返回true,但是当我尝试将它放入Scanner 时,它会抛出FileNotFoundException
这是我所有的代码
import java.util.Scanner;
import java.io.*;
public class readInt{
public static void main(String args[]){
File file = new File("lines.txt");
System.out.println(file.exists());
Scanner scan = new Scanner(file);
}
}
【问题讨论】:
-
什么是当前目录?尝试打印
new File(".") -
打印
new File("scores.dat")的路径,并仔细检查它是否存在于预期的目录中。 -
@Steinar 它正在正确的目录中搜索,并且给出了正确的绝对路径,但是仍然找不到该文件
-
异常的文本是什么?
-
几乎可以肯定您进入了错误的目录。打印
new File("scores.dat").getAbsolutePath()并确保文件确实在那个位置。
标签: java filenotfoundexception