Java,如何检查文件的存在

时间:2011-11-02 13:13:02

标签: java file

我有这个小代码

    File source;
    if ( !source.exists() ) {
        source = new File("instances/student"+student.getStudentID()+".data");
    }

问题是,源未初始化。由于重点是检查它是否存在,我该如何避免这种情况?

3 个答案:

答案 0 :(得分:7)

创建一个File对象。

File source = new File(...);

您使用的构造函数取决于您希望如何定位文件。一个简单的路径字符串就足够了。

编辑:刚刚意识到您混淆的原因可能是您认为创建File对象会尝试找到文件或在文件系统上创建它。事实并非如此。只是调用new File(...)不会检查它的存在或尝试创建它。 File对象只是文件系统中路径的抽象。它也可以是一个目录。

答案 1 :(得分:1)

你可以这样做:

File f = new File(somepathhere);
if ( !f.exists() ) {
    f = new File("instances/student"+student.getStudentID()+".data");
}

或者您可以检查f.isFile()

答案 2 :(得分:0)

你似乎有误会。创建文件不会在文件系统上创建文件。 File对象仅表示文件名。如果要查看文件是否存在,请创建相应名称的文件并选中exists()

但是如果你想覆盖或附加到文件,你甚至不需要那些。如果要追加,只需创建new FileOutputStream(...)append参数设置为true即可。不需要事先检查,实际上这不仅仅是浪费时间。