Problema al listar directorio con File.list()

Iniciado por AlterMundis, 28 Enero 2013, 20:02 PM

0 Miembros y 1 Visitante están viendo este tema.

AlterMundis

Hola amigos foreros, os traigo un problema que no acabo de encauzar, me ocurre que no soy capaz de solucionar :(
Cuando intento listar el directorio Archivos de programa, no hay manera... me devuelve un null pointer exception.
El código es este:
Código (java) [Seleccionar]

static void cargarDirectorio(String directorioActual){
        vaciarTabla();
        File dir = new File(directorioActual);
       
        String[] ficheros = dir.list();
        //System.out.println(dir.list().length);
        if(dir.canRead() && dir != null && ficheros.length != 0){
        for(int i = 0; i < ficheros.length ; i++){
            tablaFicheros.setValueAt(ficheros[i], i, 0);
            tablaFicheros.setValueAt(i, i,1);
        }
        }else{
            System.out.println("No se puede leer el directorio.");
        }
       
    }
    static void vaciarTabla(){
        for(int i = 0; i < 61; i++){
            tablaFicheros.setValueAt("", i, 0);
            tablaFicheros.setValueAt("", i, 1);
        }
    }


Y para probarlo hago:
Código (java) [Seleccionar]
cargarDirectorio("C:\\Archivos de programa");

Cabe mencionar que me ocurre lo mismo con Documents and settings.
He comprobado que tenga permisos para listar y nada :O

Gracias por vuestro tiempo :)

kid_goth

no estoy muy seguro pero prueba con una carpeta que no tenga espacios, si te lista entonces prueba a poner:

cargarDirectorio("C:\\Archivos\ de\ programa");

alister

escapaste el slash, pero tambien debes escapar los espacios

cargarDirectorio("C:\\Archivos\ de\ programa");
Back 2 business!

AlterMundis

#3
Poniendo la siguiente llamada
Código (java) [Seleccionar]
cargarDirectorio("C:\\Archivos\\ de\\ programa");
Mi dir.canRead() retorna falso :O
Como puede ser esto si soy el usuario Administrador :O
EDITO: No es problema de espacios, porque la carpeta llamada "Program files" me la abre perfectamente.

Saludos

amchacon

Cita de: AlterMundis en 29 Enero 2013, 19:32 PMNo es problema de espacios, porque la carpeta llamada "Program files" me la abre perfectamente
Usas Windows 7? La carpeta Archivos de Programa se llama Program Files (el hecho que el explorador de windows te indique Archivos de Programa no indica que este sea su verdadero nombre).

Y eso es muy fácil de demostrar, metete en la carpeta de "Archivos de Programa". Clica en la barra de dirreciones y te aparecerá la ruta verdadera.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

AlterMundis

Cita de: amchacon en 29 Enero 2013, 20:59 PM
Usas Windows 7? La carpeta Archivos de Programa se llama Program Files (el hecho que el explorador de windows te indique Archivos de Programa no indica que este sea su verdadero nombre).

Y eso es muy fácil de demostrar, metete en la carpeta de "Archivos de Programa". Clica en la barra de dirreciones y te aparecerá la ruta verdadera.

Ese era el error...
Madre mía...

Muchas gracias, tema cerrado!