Подтвердить что ты не робот

Попытка проверить, существует ли файл во внутреннем хранилище

Следующий код - это то, как я пытаюсь определить, существует ли файл во внутреннем хранилище, 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();
    }

Однако он переходит в исключение и не продолжает код. Это не возвращает. Почему?

4b9b3361

Ответ 1

надеюсь, что этот метод поможет вам.

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

Ответ 2

Для внутреннего хранилища это работает для меня:

public boolean isFilePresent(String fileName) {
    String path = getContext().getFilesDir().getAbsolutePath() + "/" + fileName;
    File file = new File(path);
    return file.exists();
}

Ответ 3

Я перепробовал все, он всегда говорит, что файла нет, и поэтому запускает загрузчик и загружает файл во второй раз. Файл есть, и я дважды, трижды проверил все. Это просто не работает. Кстати, я проверяю файл на внутреннем хранилище. Он находится в каталоге "файлы" приложения.