Problema al compilar error

Iniciado por alexkof158, 26 Diciembre 2007, 06:22 AM

0 Miembros y 2 Visitantes están viendo este tema.

alexkof158

perdona que moleste tanto casidiablo.
Me podrias señalar en que parte del codigo tego que poner el saveFactura.

Citarpackage microproyecto.li;

import java.io.*;
import java.util.*;
public class Cardique{
   

   
   BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
   static private ManagerFactura mfa;
   private ManagerArchivoFactura mgr=new ManagerArchivoFactura();
   static Factura fa;
   Municipio mu=null;
   Pago pa=null;
   static Lista Factura;
   static Archivo archivo = new Archivo();
   //static Lista Municipio=null;
   //static Archivo archivo= new Archivo();
   public Cardique()throws Exception, ClassNotFoundException{
      try{
         mfa=new ManagerFactura();
         mgr=new ManagerArchivoFactura();
         //mmu=new ManagerMunicipio();
         //mpa=new ManagerPago();
                       
          System.out.println("Los Archivos Se Cargaron Con Exito ");
      }catch(Exception ex){
         ex.printStackTrace();
         System.out.println("Error al cargar archivo"+ex);
   }
}
   public static void main(String arg[])throws Exception{
      Cardique m=new Cardique();
      try{
      
      m.menuFactura();
      }catch(Exception ex){
         System.out.println(ex);
      }
   }

   public void menuFactura()throws Exception{
      
      Menu menuPrincipal = new Menu();
      System.out.println("...........................................................");
      System.out.println("*       Programa para control de ingresos en Cardique       *");
      System.out.println("...........................................................");
      menuPrincipal.opcion("1. Facturar");
      menuPrincipal.opcion("2. Registrar Pagos");
      menuPrincipal.opcion("3. Consultar");
      menuPrincipal.opcion("4. Ingresos");
      menuPrincipal.opcion("5. Salir");
                  
      int op;
         do{
         
      /*   try {
             op = Integer.parseInt(entrada.readLine());      
             
          }
         
         catch (Exception ex) {
             System.out.println ("Digite por favor un numero valido");
         
          }*/
            
         System.out.println("\n************ Menu  ***********\n");
         op= menuPrincipal.seleccionar();
         switch (op){
            
           case 1:   Facturar();break;
           
           case 3: buscarFactura();break;
           
              case 5:System.exit(0); 
           default : System.out.println("Opcion incorrecta...");
         }
      }while(op!=5);
    }
   
      public void ejecutar(){

       
      Factura = (Lista) archivo.abrir("Factura.dat");
      if(Factura == null)
         Factura = new Lista();
         }
      
   public  void Facturar()throws Exception{
   Factura fa=new Factura();
   
   System.out.println("Registre el Nombre del Municipio");
   fa.setMunicipio(entrada.readLine());

   
   System.out.println("Registre el Numero de Factura");
   fa.setNumero(entrada.readLine());
   
   System.out.println("Registre la Fecha a Facturar");
   fa.setFecha(entrada.readLine());
   
      
   System.out.println("Digite el Valor a Facturar");
   fa.setValor(Integer.parseInt(entrada.readLine()));
      
   if(mfa.crearFactura(fa)){
      mgr.saveFactura(fa);
      
   System.out.println(" FACTURA FUE REGISTRADA CORRECTAMENTE");
   
   }else{
   System.out.println("Factura Ya existe");
   }
   this.menuFactura();
}
      
      public void  buscarFactura()throws Exception,ClassNotFoundException{
      System.out.println(" Digite numero de la Factura: ");
      String numero = entrada.readLine();
      fa = mfa.getFactura(numero);
                        
      if(fa==null){
      System.out.println("No hay facturas Registradas");
      this.menuFactura();
      }   
      System.out.println(fa);   
      this.menuFactura();
      
      }
   

      
   }
:) :) :) :) :) :) :) :)
"noproxy"

egyware

Cita de: Casidiablo en 27 Diciembre 2007, 14:26 PM
La cosa es que en el codigo que colocas no está la parte de escribir en archivo... lo que deberías poner es la clase ManagerArchivoFactura.java que es la que guarda.

Un saludo!
mmm voy a meter la cuchara un poco
como dice casidiablo debes postear la clase ManagerArchivoFactura.java
private ManagerArchivoFactura mgr=new ManagerArchivoFactura();
ya que puede que tu programa es te bueno y muy lindo pero esa clase puede tener problemas porque, ya claro tu llamas correctamente savefactura() de donde tu quieras pero que pasa si el problema justo esta en ese metodo y no a la llamada


Código (java) [Seleccionar]

public class ManagerArchivoFactura {
saveFactura(){

//aqui puede haber un error ????
}

}

taba mirando tu code y talves tengas problemas aqui tb
Factura = (Lista) archivo.abrir("Factura.dat");

Casidiablo


egyware

Cita de: Casidiablo en 28 Diciembre 2007, 15:46 PM
Me rindo.
pero casidiablo porque te rindes no tires la toalla
yo toy por perder mi año en la U (primer año apenas), pero sigo aqui luchando
y como te va ganar algo asi, lucha y sigue luchando hombre por algo no serias CASI Diablo sin el casi serias diablo pa java jijiji
vamos hombre que se puede si el problema esta ahí y alexkof158 no ha subido la clase asi que hay que esperarno mas
vamos hombre

Casidiablo

Vale vale... pero es que te digo, alexkof158, que por favor pongsa el archivo ManagerArchivoFactura.java que lo quiero ver!

alexkof158

Gracias, no se cansen rapido please, solo si soluciono eso gano mi tests .

Citarpackage microproyecto.li;
import java.io.*;
import java.util.*;
public class ManagerArchivoFactura{
   public void saveFactura(Object obj)throws IOException{
      ObjectOutputStream out=null;
      File f=new File("Factura.dat");      
      try{
         out=new ObjectOutputStream(new FileOutputStream(f));
         out.writeObject(obj);
      }finally{
         if(out!=null)
         out.close();
      }
   }
   public Map readFactura()throws Exception, ClassNotFoundException{
      File f=new File("Factura.dat");
      ObjectInputStream in=null;
      Map mapa=null;
      try{
         if(f.exists()){
            in=new ObjectInputStream(new FileInputStream(f));
            mapa=(Map)in.readObject();
         }
      }finally{
         if(in!=null)
         in.close();
      }
      return mapa;
   }
}
"noproxy"

Casidiablo

Pues lo he mirado por encima pero CREO que puede ser porque siempre estás guardando el archivo así:

ObjectOutputStream out=null;
      File f=new File("Factura.dat");     
      try{
         out=new ObjectOutputStream(new FileOutputStream(f));
         out.writeObject(obj);
      }

Es como si le dijeras: "crea un archivo y reemplaza el anterior". Lo que debes hacer es añadir más datos...

Ejemplos de archivos

Lee, y aprende. Luego si practicas.

Un saludo!

zogeid

Cita de: Casidiablo en 28 Diciembre 2007, 22:53 PM

Es como si le dijeras: "crea un archivo y reemplaza el anterior". Lo que debes hacer es añadir más datos...


Comprueba que eso no sea asi, si guardas una soal vez y funciona, sera ese el problema, si añades varios y solo esta el ultimo esq sobreescribes

un saludo!

alexkof158

exacto, man vos me entiendes mi programa me guarda pero lo que guarda siempre lo sobrescribe y ademas quiero que los datos se queden guarados en el DD. Que cuando yo los cargue con arhivo.abri("Factura"); se carguen. Ojala me echen la manito alli para ver.   ;D ;D ;D ;D ;D ;D
"noproxy"

egyware

el metodo que te mencionare es medio engorroso eso sip pero funciona igual
*primero lees el archivo a donde lo vas a guardar en este caso Factura.dat lo deserializas (en caso de un objeto serializado)
*luego le agregas los datos a tu objeto
*y sobreescribes como siempre los has hecho
como ves no es un metodo agradable por lo menos pa mi pero lo uso mucho yo y digamos que funciona al 100%
esop
xau suerte