File.mkdir () y mkdirs () están creando un archivo en lugar de un directorio
Utilizo el código siguiente:
final File newFile = new File("/mnt/sdcard/test/"); newFile.mkdir(); // if I use mkdirs() result is the same
Y crea un archivo vacío! ¿Por qué?
- Lectura de un archivo de texto línea por línea en android
- Lectura de un archivo de texto simple
- OutputStream.write () éxito pero los datos no se entregan
- Obtener java.net.SocketTimeoutException: La conexión se agotó en android
- Universal Image Loader para archivos de almacenamiento externo
- ¿Por qué FileOutputStream lanzar FileNotFoundException?
- Formas de proxy un InputStream
- Android: ¿Cómo almacenar datos en la memoria interna?
- BufferedReader no lee todas las líneas del archivo
- No puede convertir implícitamente tipo 'System.IO.Stream' a 'Java.IO.InputStream'
Usted no usaría mkdirs () a menos que usted quisiera que cada una de esas carpetas en la estructura fuera creada. Trate de no agregar la barra extra en el final de la cadena y ver si funciona.
Por ejemplo
final File newFile = new File("/mnt/sdcard/test"); newFile.mkdir();
Cuando necesito asegurar que todos los dirs para un archivo existan, pero sólo tengo filepath – yo lo hago
new File(FileName.substring(0,FileName.lastIndexOf("/"))).mkdirs();
Tratar de usar
String rootPath=Environment.getExternalStorageDirectory().getAbsolutePath()+"/test/"; File file=new File(rootPath); if(!file.exists()){ file.mkdirs(); }
En primer lugar, no debe utilizar una ruta de acceso de archivo con "/ mnt / sdcard / test", esto puede causar algunos problemas con algunos teléfonos android. Utilice en su lugar:
public final static String APP_PATH_SD_CARD = "/Test"; String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath() + APP_PATH_SD_CARD;
Crea un archivo vacío desde que agregó el guión.
Ahora que tiene su ruta de acceso, utilice el código siguiente:
try { File dir = new File(fullPath); if (!dir.exists()) { dir.mkdirs(); } } catch(Exception e){ Log.w("creating file error", e.toString()); }