style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

buscador de archivos (String)!!!

hola porfv necesito una ayuda urg.
estoy aciendo una aplicacion en netbeans, ventana de busqeda , dond hay ke poner un nombre d un archivo y tiene ke buscarlo por todo el ordenador, sea lo ke sea el tipo del archivo video mp3 pdf..........
no se komo tengo k acerlo , y ke funciones tengo k usar.
gracias por vuestra ayuda.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Nopalin

hmm

lo primero que se me viene a la mente es que tambien tengas que seleccionar la carpeta raiz de la busqueda, por que si no, imaginate si la compu tiene varias particiones? bueno la carpeta la puedes seleccionar con un JFileChooser

List<File> resutados = null;

//accion llamada desde un boton de buscar en tu pantalla
private void actionPerformed(){
  File raiz = fileChooser.getSelectedFile(); //tiene que ser carpeta
  resultados = new ArrayList<File>();//limpia la lista de resultados al comenzar
  buscar(raiz);
  mostrarResultados();
}

//imprime los archivos encontrados
private void mostrarResultados(){
  for(File archivo : resultados){
    System.out.println(getAbsolutePath());
  }
}

//agrega un archivo a la lista de resultados
private void addResultado(File archivo){
  resultados.add(archivo);
}

private void buscar(File raiz, String sentencia){
  if(!raiz.isDirectory()){
    throw new IllegalArgumentException("Archivo raiz no es una carpeta");
  }

  File[] archivos = raiz.listFiles();
  for(int i=0; i<archivos.length; i++){
    File archivo = archivos[i];

    //si es directorio comenzamos la busqueda en ese directorio
    if(archivo.isDirectory()){
      buscar(archivo, sentencia);
    }

    //solo compara contra el nombre del archivo
    if(archivo.getName().match(sentencia)){
      addResultado(archivo);
    }
  }
}

Hasta la fecha no he realizado ningun ejemplo de recursividad en java ni se si lo soporta, asi que es un ejemplo al vuelo jeje,

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">