busqueda en directorios usando Java

AguilaSA
14 de Junio del 2004
hola

Necesito saber cómo 'navegar' por las carpetas del un disco (HDD o CDROM) usando alguna api de java, si existe algo así. La idea que quiero es capturar las rutas a los archivos de mi PC.

de antemano gracias

FER
14 de Junio del 2004
Hola, con la clase File es facil:
si tienes un objeto f de la clase FIle, con el metodo
f.getAbsolutePath();
capturar la ruta entera

Un saludo

johano
14 de Junio del 2004
Prueba con este codigo a ver si te sirve

/**
*@autor Johan Ortiz, [email protected]
*@since 13-06-04
*@version JDK 1.3.1
*/

import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class DirGui extends WindowAdapter
{
Panel pnl1, pnl2, pnl3;
Frame frm1;
Button btnMostrar, btnBorrar;
TextField txtDirectorio, txt1;
TextArea txtMostrar;
Label status;

public DirGui() throws IOException
{


frm1 = new Frame("DIRECTORIO-GUI");
pnl1 = new Panel();
pnl2 = new Panel();
pnl3 = new Panel();
txtDirectorio = new TextField("C:/");
// txtDirectorio.setBackground(Color.lightGray);
txtMostrar = new TextArea(20,70);
// txtMostrar.setBackground(Color.lightGray);
status = new Label("Status OK");
btnBorrar = new Button("BORRAR");
// Evento ActionListener de btnBorrar
btnBorrar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
txtMostrar.setText("");
txtDirectorio.setText("C:/");
status.setText("Status OK");
}
});
btnMostrar = new Button("MOSTRAR");
// Evento ActionListener de btnMostrar
btnMostrar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
txtMostrar.setText("");
final String directorio = txtDirectorio.getText();
File f = new File(directorio);
if(f.exists())
{
File[] dirs;
dirs = f.listFiles();
int secuencia = 0;
while(secuencia < dirs.length)
{
for(int i = 0; i < dirs.length; i++)
{
secuencia++;
txtMostrar.append(secuencia + "t" + dirs[i] + "n");
}
}
status.setText("Busqueda Terminó OK");
}
else
status.setText("Directorio Incorrecto");
}
});

// Configurando pnl1
pnl1.setLayout(new GridLayout(2,2));
pnl1.add(new Label(""));
pnl1.add(new Label(""));
pnl1.add(new Label("Directorio"));
pnl1.add(txtDirectorio);
// Configurando pnl2
pnl2.setLayout(new FlowLayout());
pnl2.add(txtMostrar);
// Configurando pnl3
pnl3.setLayout(new GridLayout(2,2));
pnl3.add(btnMostrar);
pnl3.add(btnBorrar);
pnl3.add(status);
pnl3.add(new Label(""));
// Añadiendo los 3 paneles al Frame
frm1.add(pnl1, BorderLayout.NORTH);
frm1.add(pnl2, BorderLayout.CENTER);
frm1.add(pnl3, BorderLayout.SOUTH);
frm1.addWindowListener(this);
frm1.pack(); // Para empaquetar
frm1.setVisible(true); // Para que se visualice
}
// Metodo para Cerrar la Ventana por la "X"
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
// Metodo Main
public static void main(String args[]) throws IOException
{
new DirGui();
}
}