Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/05/2007, 10:07
André_01
 
Fecha de Ingreso: agosto-2006
Mensajes: 159
Antigüedad: 17 años, 9 meses
Puntos: 4
Algo parecido al DIR de MS-DOS

Hola:

Tengo una duda que no se resolver.

Pretendo hacer un comando DIR como el de MS-DOS pero me sale un NullPointerException, que se lo que es pero no se porque sale.

El main:

Código:
package ejemplodirmultiple;

public class Main {
    public Main() {
    }
    public static void main(String[] args) {
        // TODO code application logic here
        Dir d = new Dir("c:\\");
    }
    
}
Y la clase Dir:

Código:
package ejemplodirmultiple;
import java.io.*;
public class Dir {
    private File f;
    public Dir() {
    }
    
    public Dir(String ruta){
        this.setF(new File(ruta));
        if(this.verificador(this.getF())){
            if(this.getF().isDirectory()){
                File [] ficheros = this.getF().listFiles();
                for(int i=0;i<ficheros.length;i++){
                    if(ficheros[i].isDirectory()){
                        listarTodo(ficheros[i]);
                    }else{
                        System.out.println(ficheros[i].getName());
                    }
                }
            }
        }else{
            System.out.println("Ruta dada inexistente o inalcanzable.\n"+ruta);
            this.setF(null);
        }
    }
    private void listarTodo(File f){
        File [] f1 = f.listFiles();
        for(int i=0;i<f1.length;i++){
            if(f1[i].isDirectory()){
                this.listarTodo(f1[i]);
            }else{
                System.out.println(f1[i].getName());
            }
        }
    }
    private boolean verificador(File f){
        return f.exists();
    }
    public File getF() {
        return f;
    }
    public void setF(File f) {
        this.f = f;
    }    
}
Todo va perfecto hasta mas o menos los 8 segundos de ejecucion, imagino que este dato variara segun donde se ejecute, en el que sale el siguiente error:

Exception in thread "main" java.lang.NullPointerException
at ejemplodirmultiple.Dir.listarTodo(Dir.java:42)
at ejemplodirmultiple.Dir.<init>(Dir.java:29)
at ejemplodirmultiple.Main.main(Main.java:27)
Java Result: 1


Sabria alguien decirme porque sale este error?

Muchas gracias.