Ver unidades de disco desde una aplicacion

Jesus
16 de Enero del 2006
Tengo esto programado en Java, he estado indagando por Internet, pero no encontre nada de nada. Lo que quiero es que me liste las unidades de disco en Java, es decir, ver C:, D:, y ya poder elegir cual quiero ver.

Gracias


Aqui dejo la aplicacion creada:
public class visor
{
public JFrame ventana=new JFrame();
public File fichero ;


public visor(String q){
int cont1=0,cont2=0,cont=0;
fichero= new File(q);

File[] lista = fichero.listFiles();
JPanel uno = new JPanel();
JPanel dos= new JPanel();
JPanel sur=new JPanel();
JPanel principal= new JPanel();
JPanel auxp= new JPanel();
JButton atras=new JButton("Atras");
atras.addActionListener(new pulsaratras());

for (int i = 0; i < lista.length; i++)
{

if (lista[i].isDirectory())
{
cont1++;
JButton aux1 = new JButton(lista[i].getName());
aux1.addActionListener(new pulsar());
aux1.setName(lista[i].getAbsolutePath() );
uno.add(aux1);
}
}

for (int i = 0; i < lista.length; i++)
{

if (!lista[i].isDirectory())
{
cont2++;
JLabel aux = new JLabel(lista[i].getName());

dos.add(aux);
}
}

if (cont1>cont2)
cont=cont1;
else
cont=cont2;

uno.setLayout(new GridLayout(cont, 1));
dos.setLayout(new GridLayout(cont,1));
auxp.add(new JLabel(" "));
sur.add(atras);

//principal.setLayout(new GridLayout(1,3));
principal.setLayout(new BorderLayout());
principal.add(auxp,BorderLayout.CENTER );
principal.add(dos,BorderLayout.EAST );
principal.add(uno,BorderLayout.WEST );
principal.add(sur,BorderLayout.SOUTH );





ventana.setContentPane(principal);
ventana.pack();
ventana.show();
}

public static void main(String[] args)
{
new visor ("C:\");

}

class pulsar implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String nombre;
nombre= ((JButton)e.getSource()).getName();
ventana.hide();
new visor(nombre);
}

}

class pulsaratras implements ActionListener
{
public void actionPerformed(ActionEvent e)
{

String nombre;
nombre= fichero.getParent();
ventana.hide();
new visor(nombre);
}

}


}

Diego
16 de Enero del 2006
Mira en la clase java.io.File en el método:
public static File[] listRoots()