检查目录是否存在于Android的SD卡上

如何检查在android的SD卡上是否存在一个目录?

常规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 } 

下面的代码也适用于java文件:

 // Create file upload directory if it doesn't exist if (!sdcarddir.exists()) sdcarddir.mkdir(); 

一般用这个函数检查是否存在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; } 

使用function如下:

 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() isDirectory()

烨试了很多,在代码帮助我:)

  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(); }