2

Quiero mediante un método encontrar la ruta en la que se encuentra un archivo en cualquier lugar de C:

He probado con el siguiente codigo, y para ahorrar tiempo el archivo esta en: C:\ficheros\subcarpeta\archivo.txt

public static void encontrarRuta(String directorio, String busqueda){

    File f = new File(directorio);

    if(f.isDirectory()){

        File[] list = f.listFiles();

        for (File file : list) {     
            System.out.println(file.getAbsolutePath());
            encontrarRuta(file.getAbsolutePath(), busqueda);
        }
    }else{
        if(f.getName() == busqueda){
            RUTA_ENCONTRADA = f.getAbsolutePath();
            System.out.println(RUTA_ENCONTRADA + "sisisisi");
        }
    }
}

El problema es que si pongo como Directorio inicial C:\\ hay NullPointerException.

Si solo pongo C:\\ficheros\\ lista correctamente todo el directorio pero no muestra el sout del interior del ultimo if, por lo que supongo que no entra.

He probado también... Pero no me lista los archivos solo directorios.

public static void encontrarRuta(String directorio, String busqueda){

    File f = new File(directorio);

    if(f.exists()){

        File[] list = f.listFiles();

        for (File file : list) {

            if(file.isDirectory()){
                System.out.println(file.getAbsolutePath());
                encontrarRuta(file.getAbsolutePath(), busqueda);
            }else{
                if(file.getName() == busqueda){
                    System.out.println(file.getAbsolutePath() + "ENCONTRADO");
                }

            }
        }
    }
}

Gracias.

Tygreton
  • 823
  • 4
  • 18
  • Aunque para la primera parte, también te interesa leer https://es.stackoverflow.com/questions/42977/cu%c3%a1l-es-la-soluci%c3%b3n-a-todos-los-errores-nullpointerexception-presentes-pasados/42978#42978 – SJuan76 Oct 13 '18 at 13:43
  • En general, te será más fácil obtener ayuda si planteas tus problemas en términos más específicos ("¿por qué no me entra en este `if`?") que si lo haces en términos de lo que hace tu programa ("buscar archivo en directorio") – SJuan76 Oct 13 '18 at 13:47

0 Answers0