如何在Android中检查外部存储中是否存在文件夹?

如何在Android中检查外部存储中是否存在文件夹?,android,file-permissions,android-permissions,android-external-storage,internal-storage,Android,File Permissions,Android Permissions,Android External Storage,Internal Storage,我需要找到目录中的任何地方是否有一个名为fldr的文件夹 这将返回外部存储器的目录 String fldr= "Main"; 如果有一个类似于fldr的文件夹,我需要获取其目录并检查其是否可写。。怎么做 这样做 String SDpath = Environment.getExternalStorageDirectory().toString(); 谢谢你的帮助。但在本例中,我们不知道“Environment.getExternalStorageDirectory()+”/Main”是否存在

我需要找到目录中的任何地方是否有一个名为fldr的文件夹

这将返回外部存储器的目录

String fldr= "Main";
如果有一个类似于fldr的文件夹,我需要获取其目录并检查其是否可写。。怎么做

这样做

String SDpath = Environment.getExternalStorageDirectory().toString();

谢谢你的帮助。但在本例中,我们不知道“Environment.getExternalStorageDirectory()+”/Main”是否存在。它可能类似于“Environment.getExternalStorageDirectory()+“folder1”+“/Main”。那么如何查找Main是否存在?您只需传递目录名(文件夹名)。当使用文件目录=新文件(“DCIM”)时;它说它不存在,但当使用File dir=new File(Environment.getExternalStorageDirectory()+“/DCIM”)时,它说它存在..那么,我如何仅使用“DCIM”获得正确的结果呢
File dir = new File(Environment.getExternalStorageDirectory() + "/Main");
if(dir.exists() && dir.isDirectory()) {
    // do something here
}

/**
   * @return True if the external storage is available.
   * False otherwise.
   */
  public static boolean checkAvailable() {

    // Retrieving the external storage state
    String state = Environment.getExternalStorageState();

    // Check if available
    if (Environment.MEDIA_MOUNTED.equals(state)
        || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
      return true;
    }

    return false;
  }

  /**
   * @return True if the external storage is writable.
   * False otherwise.
   */
  public static boolean checkWritable() {

    // Retrieving the external storage state
    String state = Environment.getExternalStorageState();

    // Check if writable
    if (Environment.MEDIA_MOUNTED.equals(state)) {
      return true;
    }

    return false;

  }