【问题标题】:java FileNotFoundException wont locate a file in the same projectjava FileNotFoundException 不会在同一个项目中找到文件
【发布时间】:2015-06-07 16:35:28
【问题描述】:

我正在为我的 comp sci 课程编写程序,但我一直收到同样的错误。

Exception in thread "main" java.io.FileNotFoundException: data.txt (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:120)
    at java.util.Scanner.<init>(Scanner.java:636)
    at Search.main(Search.java:18)

这是我的代码的开头:

import java.io.File;
import java.util.ArrayList;
import java.util.Scanner;
import java.io.IOException;
public class Search{
    public static void main(String[] args)throws IOException{
        Scanner inData = new Scanner(new File("data.txt"));

        String data=inData.nextLine();
        String[] arr = data.split(" ");   

        while(inData.hasNext()){
            String search=inData.nextLine();
            int len=search.length();
            ArrayList<String> result = new ArrayList<String>();

我在同一个 Java 项目中有一个文本文件,所以我不确定问题出在哪里,我尝试移动文件的位置,但没有任何效果。

【问题讨论】:

  • 项目根目录下有文件吗?
  • this post 中所述创建源文件夹。现在使用Scanner scanner = new Scanner ( Search.class.getResourceAsStream ( "data.txt" ) ); 访问文件,或者简单地将文件放在bin 文件夹中。
  • @ThusithaThilinaDayaratne 是的
  • @nIcEcOw 我这样做时遇到了 java.lang.NullPointerException
  • @OoOoOoOoOoO:如果我按照我之前评论中提到的步骤操作,那么它工作正常,但我必须使用scanner = new Scanner ( ShowFile.class.getResourceAsStream ( "/files/data.txt" ) );。这是working project。这个项目是在Eclipse Mars 制作的。我刚刚在其中创建了一个名为resources 的源文件夹我手动创建了一个文件夹files 并将data.txt 文件复制到此文件夹files

标签: java eclipse debugging java.util.scanner filenotfoundexception


【解决方案1】:

你的执行代码的工作路径可以通过这段代码来确定:

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

通常这是目标或类或 bin 文件夹,具体取决于您的 IDE。

【讨论】:

  • 一旦我发现了,我该如何更改或将文本文件放在那里?
  • 您只需将文件系统浏览到文件夹...大部分时间都在您的工作区中。并将data.txt 放在那里。请问这个 System.out.println.. 的结果是什么?
【解决方案2】:

您必须将文件data.txt 放在您的eclipse java 项目的根目录下,在您的文件夹/src/ 之外。

【讨论】:

猜你喜欢
  • 2014-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-25
  • 2014-03-14
  • 1970-01-01
  • 2016-03-04
相关资源
最近更新 更多