【发布时间】: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.<init>(FileInputStream.java:138) at java.util.Scanner.<init>(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