filenotfoundexception和文件存在

时间:2015-02-17 14:28:57

标签: java filenotfoundexception fileinputstream

这不是我第一次在java中使用文件,但这是我第一次使用FileInputStream

我在资源/ backup.txt

中有TXT

enter image description here

然后在我的代码中,当我将文件放在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上工作。

3 个答案:

答案 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";