¿No es sensible a mayúsculas y minúsculas los archivos de Android File.exists ()?

He creado una nueva carpeta "sdcard / dd " por:

File album = new File(albumPath); if (album.exists()) { Log.d(TAG, albumPath + " already exists."); } else { boolean bFile = album.mkdir(); } 

Y otra vez, creo la segunda carpeta "sdcard / DD " por el mismo código, pero, esta vez el álbum.exists () devuelve true, lo que indica que el "dd" es igual a "DD".

Alguien sabe por qué el File.exists() no puede comprobar el caso del nombre de la carpeta? ¡Gracias!

Mientras que Linux, y por lo tanto también Android, normalmente distingue entre mayúsculas y minúsculas cuando se trata de nombres de archivos, los sistemas de archivos FAT, que se usan frecuentemente en tarjetas SD, memory sticks, etc., son insensibles a mayúsculas. Por lo tanto, Android no diferenciará entre los casos cuando se trata de archivos en estos sistemas de archivos.

Así que si usted tiene dos archivos, /sdcard/file (en la tarjeta SD) y /data/file (en el sistema de archivos interno), obtendrá los siguientes resultados:

 new File("/sdcard/file").exists(); // true new File("/sdcard/FILE").exists(); // true, /sdcard is a case-insensitive file system new File("/data/file").exists(); // true new File("/data/FILE").exists(); // false, /data is a case-sensitive file system 

El archivo existe. De alguna manera espero que o bien no están eliminando la primera carpeta que creó ( sdcard/dd ) o hay algún extraño sdcard archivo caso-insensibilidad (es FAT, que no es sensible a mayúsculas y minúsculas, pero que realmente no importa).

Pruebe esto en ventanas, por ejemplo. El nombre de archivo no es sensible a mayúsculas y minúsculas. Como es el caso de linux (android se basa en linux). La navegación a través de directorios también se reconoce como insensible a mayúsculas y minúsculas.

Así que dd y DD son ambos reconocidos como el mismo camino.

Los archivos se pueden crear con mayúsculas y se muestran sensibles al caso incluso a través de ftp, pero el método exists () no distingue. Esto es lo que es aquí en / storage / emulated / 0 / somepath en Android 5.1. Creo que es un comportamiento inconsistente.

  • Androide. Write failed: EPIPE (Broken pipe) cuando se usa Process
  • Obtener el tamaño del archivo en android sdk?
  • Dónde guardar los archivos de texto en el proyecto de Android en eclipse
  • Android: ¿cómo puedo crear el objeto File desde el archivo de activos?
  • Abrir archivo XML desde res / xml en Android
  • Registrarse como aplicación predeterminada para el tipo de archivo personalizado
  • Evitar la pérdida de datos debido a la interrupción al guardar archivos en android?
  • Vista no se puede resolver a un tipo
  • ¿Cómo subir el archivo usando la biblioteca Volley en android?
  • Donde encuentro los datos de la aplicación en android
  • Enumera todos los archivos de toda la carpeta en una sola lista
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.