Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找不到输入文件_Java - Fatal编程技术网

Java 找不到输入文件

Java 找不到输入文件,java,Java,我只是在用java阅读输入文件,直到我被最基本的步骤难倒。。。正在查找输入文件 input.txt文件与调用它的类文件位于同一目录中,但eclipse仍然给我一个找不到的错误: 线程“main”java.lang中出现异常。错误:未解决的编译问题: 未处理的异常类型FileNotFoundException“ 我的代码: package pa; import java.util.Scanner; public class Project { public static void main(

我只是在用java阅读输入文件,直到我被最基本的步骤难倒。。。正在查找输入文件

input.txt文件与调用它的类文件位于同一目录中,但eclipse仍然给我一个找不到的错误:

线程“main”java.lang中出现异常。错误:未解决的编译问题: 未处理的异常类型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位于同一个包、同一个文件夹和所有内容中。我很困惑:(

尝试使用文件的绝对路径,例如:

java.io.File file = new java.io.File("C:\\My Documents\\User\\input.txt");
另外,声明
main()
方法如下:

public static void main(String[] args) throws FileNotFoundException {

通常,您希望捕获并处理异常,但现在只需抛出它。

使用eclipse时,工作目录是项目目录,而不是类的目录

您可以通过以下方法获取工作目录:

File f = new File(".");
System.out.println(f.getAbsolutePath());

我不知道eclipse,但在netbeans中,路径不是从类所在的包(文件夹)开始的,而是从项目的根文件夹开始的。要在netbeans中找到该文件,必须放入
新文件(“src/pa/input.txt”)

查看生成类文件的文件夹。如果input.txt文件不在该文件夹中,请将其放在该文件夹中,然后再次尝试运行代码。

错误“未处理的异常类型FileNotFoundException”可以通过main()方法中的异常处理来解决。在代码中添加以下命令

public static void main(String[] args) throws FileNotFoundException
运行该程序,您将获得input.txt文件的位置

您可以了解有关异常处理的更多信息


干杯

它在同一个文件夹中,所以我不知道为什么会发生这种情况。我最终创建了一个新项目,只是用默认的包名离开了该类,它工作了……为什么工作了?我永远也不知道。输入始终与该类位于同一文件夹中,因此我不知道与java文件在同一文件夹中发生了什么。您检查了生成.class文件的文件夹?请注意,应该使用/和
`,而不是使用
文件.separator`来实现可移植性。没问题。此外,我建议使用FileInputStream而不是扫描仪。尝试创建一个文件,看看新创建的文件是否在同一文件夹中。如果您给出类似“input.txt”的路径java编译器生成的是$PWD/input.txt,其中$PWD是执行类文件的路径。