Как проверить, существует ли папка во внешнем хранилище в Android?

String fldr= "Main";

Мне нужно найти, есть ли папка с именем fldr где-нибудь в каталоге.

Это вернет каталог внешнего хранилища

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

Если есть папка, похожая на fldr, мне нужно получить ее каталог и проверить, доступна ли она для записи. Как это сделать?

1 ответ

Делай так,

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;

  }