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

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

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


当前回答

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 ");
 }

其他回答

你的代码块不会创建一个新的代码块,它只检查它是否已经在那里,而没有其他的。

File file = new File(filePath);
if(file.exists())      
//Do something
else
// Do something else.

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 ");
 }

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

File file = new File(filePath);
if(file.exists()) 
    //do something

Kotlin扩展属性

创建file对象时不会创建文件,它只是一个接口。

为了更容易地处理文件,Uri上有一个.toFile函数

您还可以在文件和/或Uri上添加扩展属性,以进一步简化使用。

val File?.exists get() = this?.exists() ?: false
val Uri?.exists get() = File(this.toString).exists()

然后使用uri。存在或文件。存在是为了检查。

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