如何在安卓系统中检查sdcard上是否存在一个目录?
常规的Java文件IO:
File f = new File(Environment.getExternalStorageDirectory() + "/somedir");
if(f.isDirectory()) {
....
你可能还需要检查f.exists()
,因为如果它存在且isDirectory()
返回false,那么你将会遇到问题。此外还有isReadable()
...
在这里查看更多你可能会发现有用的方法。
File dir = new File(Environment.getExternalStorageDirectory() + "/mydirectory");
if(dir.exists() && dir.isDirectory()) {
// do something here
}
exists()
和 isDirectory()
吗?我的意思是,如果我们只使用其中一个会怎样? - Mann// Create file upload directory if it doesn't exist
if (!sdcarddir.exists())
sdcarddir.mkdir();
一般使用此函数检查目录是否存在:
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!!'
}
我在检查文件/目录方面犯了错误。实际上,你只需要调用isFile()
或isDirectory()
即可。这里是文档。
如果你已经调用了isFile()
或isDirectory()
,就不需要再调用exists()
了。
我尝试了很多次,下面的代码帮助了我 :)
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();
}
isDirectory()
会返回 false,而实际上它是存在的呢? - Muhammad Babar