Java - Ayuda con archivos

   
Vista:

Ayuda con archivos

Publicado por elizbeth (1 intervención) el 20/05/2009 06:32:10
Hola!!

He tenido problemas en un trabajo que se me pide agregar escritura y lectura de archivos, agradecería muchísimo si me pudieran ayudar. Este es el programa original:

----------------------------------------------
//archivo Horas.java
//Subclase

import java.util.Scanner;

public class Horas extends Empleado
{
private int horasTrabajadas;
private int horasExtras;

//metodos

public Horas(int numero, String nombre, float sueldo, int horasTrabajadas, int horasExtras)
{
super(numero,nombre,sueldo);
this.horasTrabajadas = horasTrabajadas;
this.horasExtras = horasExtras;
}

public void obtenerDatos()
{
Scanner ent = new Scanner(System.in);
super.obtenerDatos();
System.out.print("Horas Trabajadas: ");
horasTrabajadas = ent.nextInt();
System.out.print("Horas Extras: ");
horasExtras = ent.nextInt();
}

public void imprimeDatos()
{
super.imprimeDatos();
System.out.println("Horas Trabajadas Horas Extras");
System.out.println(horasTrabajadas+ " " +horasExtras );
}
}//end class
----------------------------------------------

Ahora como lo he modificado:
-----------------------------------------------
//archivo Horas.java
//Subclase

import java.io.*;
import java.util.Scanner;

public class Horas extends Empleado
{

throws IOException{

private int horasTrabajadas;
private int horasExtras;

//metodos



public Horas(int numero, String nombre, float sueldo, int horasTrabajadas, int horasExtras)
{
super(numero,nombre,sueldo);
this.horasTrabajadas = horasTrabajadas;
this.horasExtras = horasExtras;
}

try{
Archi = new DataOutputStream( new FileOutputStream("../Archivo.dat",true) );

public void obtenerDatos()
{
Scanner ent = new Scanner(System.in);
super.obtenerDatos();
System.out.print("Horas Trabajadas: ");
horasTrabajadas = ent.nextInt();
System.out.print("Horas Extras: ");
horasExtras = ent.nextInt();

Archi.writeInt(horasTrabajadas);
Archi.writeInt(horasExtras);
Archi.close();

}

}

catch(FileNotFoundException fnfe) {}
catch (IOException ioe) {}
}

public void imprimeDatos()
{
super.imprimeDatos();
System.out.println("Horas Trabajadas Horas Extras");
System.out.println(horasTrabajadas+ " " +horasExtras );
}
}//end class
---------------------------------------------------

Si desean darle un vistazo a la clase empleado y empleado main igual las dejo:
--------------------------------------------
//archivo Empleado.java
//Super clase

import java.util.Scanner;

public abstract class Empleado
{
private int numero;
private String nombre;
private float sueldo;

public Empleado(int numero, String nombre, float sueldo)
{
this.numero = numero;
this.nombre = nombre;
this.sueldo = sueldo;
}

public void obtenerDatos()
{
Scanner ent = new Scanner(System.in);

System.out.print(" Nombre: ");
nombre = ent.nextLine();
System.out.print("Numero: ");
numero = ent.nextInt();
System.out.print("Sueldo: ");
sueldo = ent.nextFloat();
}

public void imprimeDatos()
{
System.out.println(" Nombre Numero Sueldo ");
System.out.println(nombre+ " " +numero+ " " +sueldo);
}

public abstract void obtenDatos();


}//end class
---------------------------------------------------------
//Aplicacion Cliente

import java.util.Scanner;

public class EmpleadoMain
{
private static int op=0;
public static void main(String args[])
{
System.out.println("Tipo de datos que quiere introducir");
Scanner entrada = new Scanner(System.in);
System.out.println("1.Empleado administrativo 2.Empleado por horas OPCION");
op = entrada.nextInt();

Empleado array[] = new Empleado[5]; //arreglo polimorfico

switch(op)
{
case 1 :for(int i=0; i<array.length; i++)
{
array[i] = new Administrativo(0," ",0.0f," ",0);//llena el array polimorfico con //objetos Administrativos
}

for(int i=0; i<array.length; i++)
{
array[i].obtenerDatos();//ocurre el polimorfismo
}
for(int i=0; i<array.length; i++)
{
array[i].imprimeDatos();//sucede el polimorfismo
}
break;
case 2 :for(int i=0; i<array.length; i++)
{
array[i] = new Horas(0," ",0.0f,0,0);// llena el array polimorfico con objetos //Horas
}

for(int i=0; i<array.length; i++)
{
array[i].obtenerDatos(); //ocurre el polimorfismo
}
for(int i=0; i<array.length; i++)
{
array[i].imprimeDatos(); //ocurre el polimorfismo
}
break;
}


}

}
------------------------------------------------------------

Gracias de antemano!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder