Ответ 1
надеюсь, что этот метод поможет вам.
public boolean fileExist(String fname){
File file = getBaseContext().getFileStreamPath(fname);
return file.exists();
}
Следующий код - это то, как я пытаюсь определить, существует ли файл во внутреннем хранилище, 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();
}
Однако он переходит в исключение и не продолжает код. Это не возвращает. Почему?
надеюсь, что этот метод поможет вам.
public boolean fileExist(String fname){
File file = getBaseContext().getFileStreamPath(fname);
return file.exists();
}
Для внутреннего хранилища это работает для меня:
public boolean isFilePresent(String fileName) {
String path = getContext().getFilesDir().getAbsolutePath() + "/" + fileName;
File file = new File(path);
return file.exists();
}
Я перепробовал все, он всегда говорит, что файла нет, и поэтому запускает загрузчик и загружает файл во второй раз. Файл есть, и я дважды, трижды проверил все. Это просто не работает. Кстати, я проверяю файл на внутреннем хранилище. Он находится в каталоге "файлы" приложения.