|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Ayuda... file.makedirs() no crea los directorios (?!)
Buenas!
Tengo este problema. Estoy haciendo un programa que descarga una página y todas las imágenes que hay en dicha página. En la carpeta que descarga los archivos, quiero que se guarden en plan esta estructura: .../files/nombre_del_articulo.html .../files/nombre_del_articulo/imagen1.jpg .../files/nombre_del_articulo/imagen2.jpg etc. Vamos, que por página descargada cree una carpeta con el nombre de la página para las imágenes correspondientes. Veamos el código que he escrito... Código:
File dirPics = new File(SDcard.getAbsolutePath()+"/data/data/mi_app/files/"+pageTitle); Código:
file= new File(dirPics, filename); Código:
if (!file.exists()){
Log.i("WikiOff","Folder didn't exist, creating now...successful? "+file.mkdirs());
}
La apk tiene en el manifest permiso para escribir en la SD card, así que en principio ese no es el problema. En el log, cada vez que trato de guardar un archivo, trato de crear la carpeta, así que lo tengo bien de morralla. Pero cada vez que lo intenta, pone lo siguiente: Cita:05-09 07:32:07.175: W/System.err(379): java.io.FileNotFoundException: /mnt/sdcard/data/data/mi_app/files/articulo/magnify-clip.png (Not a directory)
![]() Alguien sabe por qué pasa esto? Mil gracias! Última edición por timonoj Día 09/05/12 a las 09:56:43. |
|
|
|
#2
|
||||
|
||||
|
No entiendo muy bien lo que quieres decir. Te enseño como hago yo para crear una carpeta, uso mkdir. A lo mejor ayudaría un poco que nos mostrase la linea que te da el error, este error esta claro que es porque la carpeta que quieres acceder no existe.
Código:
private File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/ejercicio/");
public void abrirCrearBD(){
if(!f.exists()){
f.mkdir();
db = SQLiteDatabase.openOrCreateDatabase(f.getAbsolutePath() + "/tusRutas.db", null);
}else{
db = SQLiteDatabase.openOrCreateDatabase(f.getAbsolutePath() + "/tusRutas.db", null);
}
}
|
| Gracias de parte de: | ||
|
#3
|
||||
|
||||
|
Buenas. Perdona por tardar. Te cuento, al final parece que el sistema de ficheros tenía algún problema, así que he borrado la SD (en el emulador), y ha tirado mucho mejor. Tengo ahora otros problemas similares (todo parece ser una confusión entre cómo especificas archivos y carpetas, ahora me está creando carpetas con los nombres de archivo). EN fin, que a ver si pillo la línea mala. Y sí, yo también uso mkdir. Bueno, yo uso mkdirs(), que genera todos los subdirectorios necesarios hasta el archivo concreto, no sólo el último.
|
![]() |
Estás aquí
|
||||||
|
||||||