Как проверить, существует ли каталог на SD-карте в Android?
Проверьте, существует ли каталог на android sdcard
Ответ 1
Обычный файл Java IO:
File f = new File(Environment.getExternalStorageDirectory() + "/somedir");
if(f.isDirectory()) {
....
Возможно, также нужно проверить f.exists()
, потому что, если он существует, а isDirectory()
возвращает false, у вас возникнет проблема. Там также isReadable()
...
Отметьте здесь для получения дополнительных методов, которые могут вам пригодиться.
Ответ 2
File dir = new File(Environment.getExternalStorageDirectory() + "/mydirectory");
if(dir.exists() && dir.isDirectory()) {
// do something here
}
Ответ 3
Следующий код также работает для java файлов:
// Create file upload directory if it doesn't exist
if (!sdcarddir.exists())
sdcarddir.mkdir();
Ответ 4
Общее использование этой функции для проверки - существует Dir:
public boolean dir_exists(String dir_path)
{
boolean ret = false;
File dir = new File(dir_path);
if(dir.exists() && dir.isDirectory())
ret = true;
return ret;
}
Используйте функцию как:
String dir_path = Environment.getExternalStorageDirectory() + "//mydirectory//";
if (!dir_exists(dir_path)){
File directory = new File(dir_path);
directory.mkdirs();
}
if (dir_exists(dir_path)){
// 'Dir exists'
}else{
// Display Errormessage 'Dir could not creat!!'
}
Ответ 5
Я ошибся в проверке файла/каталога. Действительно, вам просто нужно позвонить isFile()
или isDirectory()
. Вот docs
Вам не нужно вызывать exists()
, если вы когда-либо вызывали isFile()
или isDirectory()
.
Ответ 6
Yup много пробовал, под кодом мне помогает:)
File folder = new File(Environment.getExternalStorageDirectory() + File.separator + "ur directory name");
if (!folder.exists()) {
Log.e("Not Found Dir", "Not Found Dir ");
} else {
Log.e("Found Dir", "Found Dir " );
Toast.makeText(getApplicationContext(),"Directory is already exist" ,Toast.LENGTH_SHORT).show();
}