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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: [1]
1  Programación / Java / EOFException en: 4 Noviembre 2017, 20:32 pm
tengo un código que utilizo para leer los datos de un archivo, pero cuando ejecuto me genera un mensaje con el siguiente error: java.io.EOFException. he investigado un poco, y según lo que comprendo es que esta excepción se genera cuando me salgo del final de archivo.

aqui esta el codigo:
Código
  1.    try {
  2.            archivoEntrada = new FileInputStream("prestamos.dat");
  3.            entrada = new  ObjectInputStream(archivoEntrada);
  4.  
  5.            Prestamo aux = (Prestamo) entrada.readObject();
  6.            while(aux != null){
  7.                prestamos.add(aux);
  8.                aux = (Prestamo) entrada.readObject();
  9.            }
  10.        } catch (Exception e) {
  11.            JOptionPane.showMessageDialog(null, e);
  12.        }
  13.        finally{
  14.            try {
  15.                entrada.close();
  16.            } catch (Exception e) {
  17.            }
  18.        }
  19.    }
  20.  
2  Programación / Java / Re: problemas para crear un archivo binario en java en: 4 Noviembre 2017, 20:21 pm
Seguramente sí se está creando, sólo que tú no sabes donde los estás creando.

Tienes como ruta: "prestamos.dat", prueba a poner la ruta absoluta, si es relativa, lo será de donde actualmente esté apuntando.


Gracias ya lo  solucione, el problema estaba en un if() que contenía el código, solo que no me había dado cuenta de la condición que tenia
3  Programación / Java / problemas para crear un archivo binario en java en: 3 Noviembre 2017, 23:51 pm
tengo un pequeño inconveniente a la hora de crear un archivo binario puesto que el programa se ejecuta sin errores y no me genera excepciones, pero el archivo no se me crea.

los datos los estoy pasando de un arraylist.  
aqui les dejo el codigo:
Código
  1.  
  2. try {
  3.            archivoSalida = new FileOutputStream("prestamos.dat");
  4.            salida = new ObjectOutputStream(archivoSalida);
  5.            for(Prestamo p: prestamos){
  6.                salida.writeObject(p);
  7.            }
  8.        } catch (Exception e) {
  9.            JOptionPane.showMessageDialog(null, e);
  10.        }
  11.        finally{
  12.            try {
  13.                salida.close();
  14.            } catch (IOException ex) {
  15.                Logger.getLogger(AdminCooperativa.class.getName()).log(Level.SEVERE, null, ex);
  16.            }
  17.        }
  18. }
  19.  
4  Programación / Programación C/C++ / Re: Pasar datos de un archivo binario a una lista dinamica en: 10 Junio 2017, 01:07 am
ya me di cuenta de mi error. Resulta que cuando guardo la información en el archivo también se guardan los datos del los punteros y estos se pasan al nuevo elemento creado. la solución es sencilla pero tuve que pensarlo bien para darme cuenta.

aquí les dejo el condigo con la solución
Código
  1. int tomar_datos(){
  2. ifstream clientesIn("clientes.dat",ios::in|ios::binary);
  3. if(!clientesIn){
  4. return -1;
  5. }
  6. else{
  7. Clientes aux; //para tomar los datos del archivo y luego enviarlos a la lista
  8. clientesIn.read((char*)&aux, sizeof(Clientes));
  9. while(!clientesIn.eof()){
  10.                        aux.P_sig = NULL;
  11.                        aux.P_ant = P_fin_cliente;
  12. *registrar_cliente() = aux;
  13. clientesIn.read((char*)&aux, sizeof(Clientes));
  14. }
  15. clientesIn.close();
  16. }
  17. }
  18.  
5  Programación / Programación C/C++ / Re: introducir un carácter en la consola de "cin", lo lea automáticamente en: 9 Junio 2017, 04:20 am
Código:
#include <termios.h>
#include <unistd.h>
#include <stdio.h>


Int main(){
      struct termios t;
      char c;
      tcgetattr(0, &t);
      t.c_lflag &= ~ICANON;
      tcsetattr(0, TCSANOW, &t);
      tcgetattr(0, &t); t.c_lflag &= ~ECHO; tcsetattr(0, TCSANOW, &t);
     
     c = getch();     //captura la tecla sin necesidad de dar enter
   
     //se devuelve la terminal a s estado anterior
     t.c_lflag |= ICANON;
     tcsetattr(0, TCSANOW, &t);
     
}

Asi seria si lo quieres hacer en linux. Tambien funciona con cin<<
6  Programación / Programación C/C++ / Re: Pasar datos de un archivo binario a una lista dinamica en: 9 Junio 2017, 00:51 am
El problema es que es un trabajo que tengo que hacerlo con structuras y archivos sin usar librerias para listas
7  Programación / Programación C/C++ / Re: introducir un carácter en la consola de "cin", lo lea automáticamente en: 9 Junio 2017, 00:43 am
Solo usa la libreria conio.h y llamas a la funcion getch() seria algo asi

char caracter = getch();

8  Programación / Programación C/C++ / Pasar datos de un archivo binario a una lista dinamica en: 8 Junio 2017, 20:08 pm
Tengo un archivo binario y quiero pasar los datos del archivo y registrarlos en una lista dinámica, pero al momento de hacerlo se me crean dos elementos en la lista aparte de los que están en el archivo. Quien me podría ayudar?

este es el código.
Código
  1.  
  2. Clientes *registrar_cliente(){
  3. Clientes *cliente = new Clientes; //se crea el un nuevo cliente.
  4.  
  5. if(P_inicio_cliente == NULL){ //en caso que no exista ningun elemento en la lista.
  6.  
  7. P_fin_cliente = cliente;
  8. P_inicio_cliente = cliente;
  9. cliente->P_ant = NULL;
  10. cliente->P_sig = NULL;
  11. }
  12.  
  13. else{ //si ya existen elementos en la lista.
  14.  
  15. cliente->P_ant = P_fin_cliente;
  16. P_fin_cliente->P_sig = cliente;
  17. cliente->P_sig = NULL;
  18. P_fin_cliente = cliente;
  19. }
  20. return cliente;
  21. }
  22.  
  23. int tomar_datos(){
  24. ifstream clientesIn("clientes.dat",ios::in|ios::binary);
  25. if(!clientesIn){
  26. return -1;
  27. }
  28. else{
  29. Clientes aux; //para tomar los datos del archivo y luego enviarlos a la lista
  30. clientesIn.read((char*)&aux, sizeof(Clientes));
  31. while(!clientesIn.eof()){
  32. *registrar_cliente() = aux;
  33. clientesIn.read((char*)&aux, sizeof(Clientes));
  34. }
  35. clientesIn.close();
  36. }
  37. }
  38.  
  39.  

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines