Foros del Web » Programación para mayores de 30 ;) » Java »

Cargar archivos en java

Estas en el tema de Cargar archivos en java en el foro de Java en Foros del Web. Hola amigos, les cuento, tuve una prueba hoy (en papel) donde asumiamos el uso de un metodo cargar();, cuya funcion era la de cargar dos ...
  #1 (permalink)  
Antiguo 27/04/2012, 10:23
Avatar de besotico  
Fecha de Ingreso: junio-2008
Ubicación: Iquique, Chile, Chile
Mensajes: 70
Antigüedad: 15 años, 11 meses
Puntos: 0
Cargar archivos en java

Hola amigos, les cuento, tuve una prueba hoy (en papel) donde asumiamos el uso de un metodo cargar();, cuya funcion era la de cargar dos archivos que contenian objetos de dos clases con las que trabajamos (clientes y ctaCte), ahora quiero programar dicha prueba con un compilador, pero me gustaría saber como puedo llevar a cabo dichos metodos (cargar el arcvhivo y meterlo a un vector) de el vector hacia adelante, creo manejarme bien con lo que es POO y el desarrollo completo del ejercicio, pero no se como hacer la carga, he estado leyendo un poco en la web pero la verdad es que encuentro puros codigos, quiero saber que estoy haciendo no hacer un copy paste.

eso, agradeceria una manito :)

saludos!

Ojo, estoy solo en consola, no con swing o awt

Última edición por besotico; 27/04/2012 a las 10:27 Razón: aclaracion de consola
  #2 (permalink)  
Antiguo 27/04/2012, 13:34
Avatar de besotico  
Fecha de Ingreso: junio-2008
Ubicación: Iquique, Chile, Chile
Mensajes: 70
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Cargar archivos en java

Hola a Todos de nuevo, ya logre importar archivos, pero no logro meterlos en mi vector ;(

Intentare ser lo mas claro posible, pondre mis clases a continuacion:


Clase CuentasCorrientes:
Código JAVA:
Ver original
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package facturas;
  6. import java.util.Date;
  7. /**
  8.  *
  9.  * @author LuisEsteban
  10.  */
  11. public class CuentasCorrientes {
  12.    
  13.     private int numeroMovimiento;
  14.     private int clienteMovimiento;
  15.     private Date fechaMovimiento;
  16.     private char tipoMovimiento;
  17.     private int montoMovimiento;
  18.    
  19.     public CuentasCorrientes (int numeroMovimiento, int clienteMovimiento,
  20.             char tipoMovimiento, int montoMovimiento ){
  21.         this.numeroMovimiento = numeroMovimiento;
  22.         this.clienteMovimiento = clienteMovimiento;
  23.         this.tipoMovimiento  = tipoMovimiento;
  24.         this.montoMovimiento = montoMovimiento;
  25.         fechaMovimiento = new Date();
  26.     }
  27.    
  28. }


Clase Cliente:
Código JAVA:
Ver original
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package facturas;
  6.  
  7. /**
  8.  *
  9.  * @author LuisEsteban
  10.  */
  11. public class Cliente {
  12.    
  13.     private String clienteNumero;
  14.     private String clienteNombre;
  15.     private String clienteDireccion;
  16.    
  17.     public void Cliente(String clienteNumero,String clienteNombre,String clienteDireccion  ){
  18.         this.clienteNumero = clienteNumero;
  19.         this.clienteNombre = clienteNombre;
  20.         this.clienteDireccion = clienteDireccion;
  21.        
  22.     }
  23.    
  24.     public void setNumero(String clienteNumero){
  25.         this.clienteNumero = clienteNumero;
  26.     }
  27.    
  28.     public String getNumero(){
  29.         return clienteNumero;
  30.     }
  31.    
  32.     public void setNombre(String clienteNombre){
  33.         this.clienteNombre = clienteNombre;
  34.     }
  35.    
  36.     public String getNombre(){
  37.         return clienteNombre;
  38.     }
  39.    
  40.     public void setDireccion(String clienteDireccion){
  41.         this.clienteDireccion = clienteDireccion;
  42.     }
  43.    
  44.     public String getDireccion(){
  45.         return clienteDireccion;
  46.     }
  47.    
  48. }

Main
Código JAVA:
Ver original
  1. /*
  2. package facturas;
  3. import java.util.*;
  4. import java.io.*;
  5.  
  6.  
  7. /**
  8.  *
  9.  * @author LuisEsteban
  10.  */
  11.  
  12. public class Facturas {
  13.     static final int MAX = 10;
  14.     static Cliente[] vecCliente = new Cliente[MAX];
  15.     static int nClientes= 0;
  16.    
  17.  
  18.    
  19.    
  20.    
  21.    
  22.     public static void main(String[] args) throws IOException {
  23.         Cargar();
  24.        
  25.        
  26.        
  27.         int op=100;
  28.         Scanner cin = new Scanner(System.in);
  29.        
  30.         do{
  31.             System.out.println("*************Menu Principal*************" );
  32.             System.out.println("1.- Ingreso de Movimiento a Cuenta Corriente");
  33.             System.out.println("2.- Consulta Saldo Cliente");
  34.             System.out.println("3.- Consulta Pagos o Facturas de Cliente");
  35.             System.out.println("4.- Porcentaje de Recaudacion");
  36.             System.out.println("0.- Salir");
  37.             System.out.print("Ingrese su opcion: ");
  38.             op = cin.nextInt();
  39.            
  40.             switch (op){
  41.                 case 1:
  42.                   //  ingresarMovimiento();
  43.                     break;
  44.                
  45.                 case 2:
  46.                     //consultaSaldo();
  47.                     break;
  48.                
  49.                 case 3:
  50.                     //consultaPago();
  51.                     break;
  52.                
  53.                 case 4:
  54.                     //recaudacion();
  55.                     break;
  56.             }
  57.         }while (op != 0);
  58.        
  59.     }
  60.    
  61.    
  62.    public static void Cargar() throws IOException{
  63.        String texto = new String();
  64.        int k = 0, j=0;
  65.        File f = new File("clientes.txt");
  66.        FileReader fr = new FileReader(f);
  67.        BufferedReader entrada = new BufferedReader(fr);
  68.        String s, a  = null,b  = null,c = null;
  69.         while((s = entrada.readLine()) != null){
  70.                vecCliente[0].setNombre(s);
  71.                /* ESTA LINEA ARROJA EL SIGUIENTE ERROR Exception in thread "main" java.lang.NullPointerException */
  72. /* SI IMPRIMO LOS DATOS DEL ARCHIVO SE IMPRIMEN CORRECTAMENTE */
  73.            
  74.         }
  75.            
  76.    
  77.     entrada.close();
  78.    }
  79.    
  80. }

Los problemas que estoy teniendo actualmente, en clientes clienteNumero es un int, pero como recibo los datos con 's' y 's' es string, no puedo enviar setNumero (tuve que convertir clienteNumero en String para que dejara de aparecer el error, pero es de tipo entero).

Segundo, no puedo meter absolutamente nada al vector, no se que pasa :(

googleo el error y me dice que estoy fuera del rango del vector, pero el vector lo declare con largo 10 y ni siquiera en la posición 0 puedo meter datos :(

Eso, espero alguien pueda ayudarme

saludos
  #3 (permalink)  
Antiguo 27/04/2012, 14:13
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Cargar archivos en java

Tienes que crear los objetos del vector, es decir, cuando inicializas un vector, sólo se inicializa el espacio para contener las referencias de los objetos, pero los objetos en sí no existen.

Ejemplo:

Código Java:
Ver original
  1. //Creas un vector de 10 clientes
  2. Cliente[] vecCliente = new Cliente[MAX];
  3.  
  4. //Creas el objeto cliente y asignas la referencia a la posición 0 del vector
  5. //Tienes que crear un constructor sin parámetros para la clase Cliente para que funcione
  6.  
  7. cliente[0] = new Cliente();

Para convertir un string a int puedes usar el método estático parseInt(String s) de la clase Integer

Última edición por alexg88; 27/04/2012 a las 14:20
  #4 (permalink)  
Antiguo 28/04/2012, 16:03
Avatar de besotico  
Fecha de Ingreso: junio-2008
Ubicación: Iquique, Chile, Chile
Mensajes: 70
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Cargar archivos en java

Cita:
Iniciado por alexg88 Ver Mensaje
Tienes que crear los objetos del vector, es decir, cuando inicializas un vector, sólo se inicializa el espacio para contener las referencias de los objetos, pero los objetos en sí no existen.

Ejemplo:

Código Java:
Ver original
  1. //Creas un vector de 10 clientes
  2. Cliente[] vecCliente = new Cliente[MAX];
  3.  
  4. //Creas el objeto cliente y asignas la referencia a la posición 0 del vector
  5. //Tienes que crear un constructor sin parámetros para la clase Cliente para que funcione
  6.  
  7. cliente[0] = new Cliente();

Para convertir un string a int puedes usar el método estático parseInt(String s) de la clase Integer
Hola, gracias por responder (se ve poca actividad por este subforo), solucione mi problema al arreglar el constructor lo tenia declarado como public void Cliente, se me paso, por si a alguien llega aqui con un problema similar los constructores no son de ningun tipo, solo public NOMBREDECLASE(parametros).

Gracias por el cambio de string a int, lo probare ahora :)

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:03.