Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - AlterMundis

#1
Hola amigos foreros, os traigo un problema que no acabo de encauzar, me ocurre que no soy capaz de solucionar :(
Cuando intento listar el directorio Archivos de programa, no hay manera... me devuelve un null pointer exception.
El código es este:
Código (java) [Seleccionar]

static void cargarDirectorio(String directorioActual){
        vaciarTabla();
        File dir = new File(directorioActual);
       
        String[] ficheros = dir.list();
        //System.out.println(dir.list().length);
        if(dir.canRead() && dir != null && ficheros.length != 0){
        for(int i = 0; i < ficheros.length ; i++){
            tablaFicheros.setValueAt(ficheros[i], i, 0);
            tablaFicheros.setValueAt(i, i,1);
        }
        }else{
            System.out.println("No se puede leer el directorio.");
        }
       
    }
    static void vaciarTabla(){
        for(int i = 0; i < 61; i++){
            tablaFicheros.setValueAt("", i, 0);
            tablaFicheros.setValueAt("", i, 1);
        }
    }


Y para probarlo hago:
Código (java) [Seleccionar]
cargarDirectorio("C:\\Archivos de programa");

Cabe mencionar que me ocurre lo mismo con Documents and settings.
He comprobado que tenga permisos para listar y nada :O

Gracias por vuestro tiempo :)
#2
Hola amigos, me presento soy AlterMundis y quiero que me ayudéis a solucionar un problema.
Tengo el siguiente código:

Código (java) [Seleccionar]

class controladorRaton implements Runnable {
        ServerSocket raton;
        Socket ratonConector;
        Point nuevoPunto;
        DataOutputStream salidaDatos;
       
        public void run() {
            try {
                this.inicializar();
                while(true){
                   
                        salidaDatos.write(nuevoPunto.x);
                        salidaDatos.write(nuevoPunto.y);
                   
                }
            } catch (IOException ex) {
                        System.out.println("Problema al enviar los datos.");
            }
        }
       
        void inicializar() throws IOException{
           raton = new ServerSocket(668);
           ratonConector = raton.accept();
           salidaDatos = new DataOutputStream(ratonConector.getOutputStream());
        }
        void obtenerDatosRaton(int x, int y){
            nuevoPunto.setLocation(x, y);
        }
    }   
}


Y lo que hago es pasar las coordenadas del ratón usando el siguiente código, que esta definido en una clase aparte, otro thread (implements Runnable):

Código (java) [Seleccionar]

lblImg.addMouseMotionListener(new MouseMotionListener() {
                    @Override
                    public void mouseMoved(MouseEvent evt) {
                        controladorHardware.obtenerDatosRaton(evt.getX(), evt.getY());
                    }
                    @Override
                    public void mouseDragged(MouseEvent evt) {
               
                    }
                    });

Los threads, han sido llamados así, usando el siguiente procedimiento (uno que se encarga de enviar imagenes del escritorio al usuario y el otro que transmite clicks para poder hacer un escritorio remoto:

Código (java) [Seleccionar]

if (t == null){
                        t = new Thread(this, "ServidorImagenes");
                        hiloRaton = new Thread(controladorHardware, "ServidorHardware");
                        t.start();
                        hiloRaton.start();
                }


Es decir, lo que hace es arrancar el thread de un jframe que recoge los datos del ratón y se los pasa al otro thread que es el encargado de hacer la transferencia al servidor remoto.

Me da este error cada vez que se ejecuta la linea
Código (java) [Seleccionar]
   controladorHardware.obtenerDatosRaton(evt.getX(), evt.getY());
es decir, cada vez que muevo el ratón por el componente que esta a la escucha de las coordenadas. Se por seguro que funciona bien el evento pues por pantalla puedo mostrar las coordenadas en las que se encuentra mi ratón sobre el componente, pero en el momento de pasarlo al otro thread, dice esto:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

En la linea que os he explicado.

Espero que podáis ayudarme pues estoy desesperado y no se que diablos pasa!
Gracias de antemano!