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.