我想检查文件是否存在于我的包文件夹,但我不想创建一个新的。

File file = new File(filePath);
if(file.exists()) 
     return true;

该代码是否在不创建新文件的情况下进行检查?


当前回答

public boolean FileExists(String fname) {
        File file = getBaseContext().getFileStreamPath(fname);
        return file.exists();
}

其他回答

Path类中的方法是语法的,这意味着它们对Path实例进行操作。但最终必须访问文件系统,以验证特定Path是否存在

 File file = new File("FileName");
 if(file.exists()){
 System.out.println("file is already there");
 }else{
 System.out.println("Not find file ");
 }

当你说“在你的包文件夹中”,你是指你的本地应用程序文件吗?如果是这样,您可以使用Context.fileList()方法获取它们的列表。只需遍历并查找您的文件。这是假设您使用Context.openFileOutput()保存了原始文件。

示例代码(在一个活动中):

public void onCreate(...) {
    super.onCreate(...);
    String[] files = fileList();
    for (String file : files) {
        if (file.equals(myFileName)) {
            //file exits
        }
    }
}
public boolean FileExists(String fname) {
        File file = getBaseContext().getFileStreamPath(fname);
        return file.exists();
}

当您使用这段代码时,您并没有创建一个新的File,它只是为该文件创建一个对象引用,并测试它是否存在。

File file = new File(filePath);
if(file.exists()) 
    //do something
if(new File("/sdcard/your_filename.txt").exists())){
              // Your code goes here...
}