【问题标题】:FileNotFoundException on .dat file.dat 文件上的 FileNotFoundException
【发布时间】:2015-01-18 22:07:54
【问题描述】:

这可能是一个简单的错误,但我被卡住了。我在与主类和基类相同的包中保存了一个 .dat 文件,其中包含我想在程序中读取的文本,并且我有一个 FileNotFoundException。我试图更改 .txt 上的文件,获取 URI 语法,但这没有帮助。重点在哪里?

主类:

package syseks;


import java.io.FileNotFoundException;
import java.net.URISyntaxException;


public class main {

public static syseks.base ba;
public main(syseks.base ba){
    ba = this.ba;
}

public static void main(String[] args) throws FileNotFoundException {
    // TODO code application logic here

    ba = new base();
    String[] py = ba.loadData('p');
    System.out.print(py);
}

}

还有来自基类的 loadData 方法:

public String[] loadData(char param) throws FileNotFoundException{

    List<String> strlist = new ArrayList<String>();

    if(param == 'p'){
        Scanner sc = new Scanner(new File("py.dat"));   //HERE'S THE CRASH
        while(sc.hasNextLine()){
            strlist.add(sc.nextLine());
        }
    }
    else{
        Scanner sc = new Scanner(new File("wy.dat"));
        while(sc.hasNextLine()){
            strlist.add(sc.nextLine());
        }
    }

    String[] da = strlist.toArray(new String[0]);

    return da;
}

【问题讨论】:

  • "FileNotFoundException" FileNotFoundException。粘贴完整的消息,或尝试使用现代 Java 并使用 java.nio.file
  • Exception in thread "main" java.io.FileNotFoundException: py.dat (Can't find the file) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.&lt;init&gt;(FileInputStream.java:138) at java.util.Scanner.&lt;init&gt;(Scanner.java:656) at syseks.base.loadData(base.java:28) at syseks.main.main(main.java:30) Java Result: 1
  • 你是如何运行程序的。如果从控制台运行,你需要先进入根目录
  • 你知道“当前工作目录”和“类所在目录”的区别吗?
  • @Anirudha 这就是重点!它适用于直接构建路径!谢谢!

标签: java file java.util.scanner filenotfoundexception


【解决方案1】:

File 构造函数参数提供一个绝对路径。比如:

Scanner sc = new Scanner(new File("/home/foo/proj/myapp/src/syseks/py.dat"));

【讨论】:

    【解决方案2】:

    使用System.getProperty("user.dir") 显示当前目录。确保它是您保存 .dat 文件的目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-26
      相关资源
      最近更新 更多