可能这是一个简单的错误,但我被困住了。我保留一个.dat文件,其中包含我想在程序中读取的文本与main和基类相同的包,并且我有一个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;
}
答案 0 :(得分:1)
为File
构造函数参数提供绝对路径。类似的东西:
Scanner sc = new Scanner(new File("/home/foo/proj/myapp/src/syseks/py.dat"));
答案 1 :(得分:0)
使用System.getProperty("user.dir")
显示当前目录。确保它是您保存.dat文件的目录。