37

以下代码是我尝试识别内部存储中是否存在文件的方式,MODE_PRIVATE.

public boolean isset(String filename){
    FileInputStream fos = null;
    try {
       fos = openFileInput(filename);
       //fos = openFileInput(getFilesDir()+"/"+filename);
       if (fos != null) {
         return true;
       }else{
         return false;
       }
    } catch (FileNotFoundException e) {
        return false;
    }

    //File file=new File(mContext.getFilesDir(),filename);

    //boolean exists = fos.exists();
    }

但是,它进入异常并且不会继续执行代码。它不做回报。为什么?

4

3 回答 3

122

希望这个方法对你有帮助。

public boolean fileExist(String fname){
    File file = getBaseContext().getFileStreamPath(fname);
    return file.exists();
}
于 2012-05-14T02:50:07.723 回答
13

对于内部存储,这对我有用:

public boolean isFilePresent(String fileName) {
    String path = getContext().getFilesDir().getAbsolutePath() + "/" + fileName;
    File file = new File(path);
    return file.exists();
}
于 2015-06-18T05:47:10.253 回答
2

Kotlin:这对我有用!

fun check(path: String?): Boolean
{
    val file = File(path)
    return file.exists()
}
于 2020-03-17T11:06:46.597 回答