我只是在乱读用java阅读输入文件,直到我被困在最基本的步骤...找到输入文件!
input.txt文件和我调用它的类文件在同一个目录中,但eclipse仍然给我一个无法找到的错误:
“线程中的异常”主“java.lang.Error:未解决的编译问题: 未处理的异常类型FileNotFoundException“
我的代码:
package pa;
import java.util.Scanner;
public class Project {
public static void main(String[] args) {
java.io.File file = new java.io.File("input.txt");
System.out.println(file.getAbsolutePath());
Scanner input = new Scanner(file);
}
}
input.txt在同一个包中,同一个文件夹和所有内容。我很困惑:(
答案 0 :(得分:4)
我不知道eclipse,但在netbeans中,路径不是从您的类所在的包(文件夹)开始,而是从项目的根文件夹开始。要在netbeans中找到该文件,您必须放置new File("src/pa/input.txt")
。
答案 1 :(得分:1)
尝试使用文件的绝对路径,例如:
java.io.File file = new java.io.File("C:\\My Documents\\User\\input.txt");
另外,声明main()
方法如下:
public static void main(String[] args) throws FileNotFoundException {
通常你想要捕捉和处理异常,但现在就扔掉它。
答案 2 :(得分:1)
使用eclipse时,工作目录是项目目录,而不是类的目录。
您可以使用以下方法获取工作目录:
File f = new File(".");
System.out.println(f.getAbsolutePath());
答案 3 :(得分:1)
错误“未处理的异常类型FileNotFoundException”可以通过main()方法中的异常处理来解决。在代码中添加以下命令。
public static void main(String[] args) throws FileNotFoundException
运行程序,你应该得到input.txt文件位置。
您可以详细了解异常处理here.
干杯
答案 4 :(得分:0)
查看生成类文件的文件夹。如果input.txt文件不在该文件夹中,则将其放在那里并尝试再次运行代码。