elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: [1]
1  Programación / Java / Re: Problema al listar directorio con File.list() en: 29 Enero 2013, 21:32 pm
Usas Windows 7? La carpeta Archivos de Programa se llama Program Files (el hecho que el explorador de windows te indique Archivos de Programa no indica que este sea su verdadero nombre).

Y eso es muy fácil de demostrar, metete en la carpeta de "Archivos de Programa". Clica en la barra de dirreciones y te aparecerá la ruta verdadera.

Ese era el error...
Madre mía...

Muchas gracias, tema cerrado!
2  Programación / Java / Re: Problema al listar directorio con File.list() en: 29 Enero 2013, 19:32 pm
Poniendo la siguiente llamada
Código
  1. cargarDirectorio("C:\\Archivos\\ de\\ programa");
Mi dir.canRead() retorna falso :O
Como puede ser esto si soy el usuario Administrador :O
EDITO: No es problema de espacios, porque la carpeta llamada "Program files" me la abre perfectamente.

Saludos
3  Programación / Java / Problema al listar directorio con File.list() en: 28 Enero 2013, 20:02 pm
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
  1. static void cargarDirectorio(String directorioActual){
  2.        vaciarTabla();
  3.        File dir = new File(directorioActual);
  4.  
  5.        String[] ficheros = dir.list();
  6.        //System.out.println(dir.list().length);
  7.        if(dir.canRead() && dir != null && ficheros.length != 0){
  8.        for(int i = 0; i < ficheros.length ; i++){
  9.            tablaFicheros.setValueAt(ficheros[i], i, 0);
  10.            tablaFicheros.setValueAt(i, i,1);
  11.        }
  12.        }else{
  13.            System.out.println("No se puede leer el directorio.");
  14.        }
  15.  
  16.    }
  17.    static void vaciarTabla(){
  18.        for(int i = 0; i < 61; i++){
  19.            tablaFicheros.setValueAt("", i, 0);
  20.            tablaFicheros.setValueAt("", i, 1);
  21.        }
  22.    }
  23.  

Y para probarlo hago:
Código
  1. 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 :)
4  Programación / Java / Re: Problema con Threads al pasar un dato mediante argumentos en: 23 Enero 2013, 22:50 pm
En la clase controladorRaton debes crear un constructor, y en el definir a la variable nuevoPunto(Point), creo que ese es el error, pero no estoy seguro, no he tocado mucho eso...
Código
  1. public controladorRaton() {
  2.    this.nuevoPunto = new Point();
  3. }
Como no le has dado ningún valor a nuevoPunto está vacío, por lo tanto te dará el fastidioso error de NullPointerException (Cuando empezé en Java este error me mataba).
No funciona :(
Al parecer, según veo en mi código, si esta inicializador, por la misma función :O

Saludos y gracias por tu tiempo!
5  Programación / Java / Problema con Threads al pasar un dato mediante argumentos en: 23 Enero 2013, 13:29 pm
Hola amigos, me presento soy AlterMundis y quiero que me ayudéis a solucionar un problema.
Tengo el siguiente código:

Código
  1. class controladorRaton implements Runnable {
  2.        ServerSocket raton;
  3.        Socket ratonConector;
  4.        Point nuevoPunto;
  5.        DataOutputStream salidaDatos;
  6.  
  7.        public void run() {
  8.            try {
  9.                this.inicializar();
  10.                while(true){
  11.  
  12.                        salidaDatos.write(nuevoPunto.x);
  13.                        salidaDatos.write(nuevoPunto.y);
  14.  
  15.                }
  16.            } catch (IOException ex) {
  17.                        System.out.println("Problema al enviar los datos.");
  18.            }
  19.        }
  20.  
  21.        void inicializar() throws IOException{
  22.           raton = new ServerSocket(668);
  23.           ratonConector = raton.accept();
  24.           salidaDatos = new DataOutputStream(ratonConector.getOutputStream());
  25.        }
  26.        void obtenerDatosRaton(int x, int y){
  27.            nuevoPunto.setLocation(x, y);
  28.        }
  29.    }  
  30. }
  31.  

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
  1. lblImg.addMouseMotionListener(new MouseMotionListener() {
  2.                    @Override
  3.                    public void mouseMoved(MouseEvent evt) {
  4.                        controladorHardware.obtenerDatosRaton(evt.getX(), evt.getY());
  5.                    }
  6.                    @Override
  7.                    public void mouseDragged(MouseEvent evt) {
  8.  
  9.                    }
  10.                    });
  11.  
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
  1. if (t == null){
  2.                        t = new Thread(this, "ServidorImagenes");
  3.                        hiloRaton = new Thread(controladorHardware, "ServidorHardware");
  4.                        t.start();
  5.                        hiloRaton.start();
  6.                }
  7.  

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
  1.   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:

Código:
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!
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines