64

如何检查android中的sdcard上是否存在目录?

4

6 回答 6

132

常规 Java 文件 IO:

File f = new File(Environment.getExternalStorageDirectory() + "/somedir");
if(f.isDirectory()) {
   ....

可能还想检查f.exists(),因为如果它存在,并isDirectory()返回 false,你就会遇到问题。还有isReadable()...

在这里查看更多您可能会发现有用的方法。

于 2010-04-12T21:05:51.470 回答
45
File dir = new File(Environment.getExternalStorageDirectory() + "/mydirectory");
if(dir.exists() && dir.isDirectory()) {
    // do something here
}
于 2010-04-12T21:07:49.180 回答
17

以下代码也适用于 java 文件:

// Create file upload directory if it doesn't exist    
if (!sdcarddir.exists())
   sdcarddir.mkdir();
于 2013-07-19T14:24:27.657 回答
2

一般使用这个函数来检查一个 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!!'
}
于 2015-09-09T02:40:36.157 回答
1

我在检查文件/目录时犯了错误。实际上,您只需要调用isFile()or isDirectory()。这是文档

exists()如果您曾经打电话isFile()或打电话,则无需打电话isDirectory()

于 2011-10-28T12:21:07.123 回答
0

是的,尝试了很多,下面的代码对我有帮助:)

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

于 2017-01-25T05:02:59.923 回答