这不是我第一次在java中使用文件,但这是我第一次使用FileInputStream
。
我在资源/ backup.txt
中有TXT
然后在我的代码中,当我将文件放在FileInputStream
构造函数中时,它会抛出FileNotFoundException
。
这是代码:
public void loadList() {
try {
ArrayList<Partido> myList = Pronosticos.getInstance().getMyList();
myList.clear();
File file = new File("resources/backup.txt");
// create an ObjectInputStream for the file
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
// read and print an object and cast it as ArrayList<Partido>
if (file.length() != 0){
myList .addAll((ArrayList<Partido>) ois.readObject());
ois.close();
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
我不应该从我的PC上放置Path,因为我需要它在另一台PC上工作。
答案 0 :(得分:0)
尝试加载这样的文件:
URL url = getClass().getResource("backup.txt");
File file = new File(url.getPath());
将文件对象传递给FileInputStream
答案 1 :(得分:0)
这应该有效。我使用相同的项目设置测试了这个:
//note the beginning forward slash
URL url = getClass().getResource("/backup.txt");
File file = new File(url.getPath());
答案 2 :(得分:0)
如果您尝试将文件附加到基于servlet的Web应用程序,您应该尝试这样的事情:
String file =request.getSession().getServletContext().getRealPath("/")+"\\file.name";