Bienvenida

Slide

sábado, 9 de enero de 2010

Nomina.java Parte 2

En esta parte del codigo se encuentran las funciones que se hacen llamadas segun sea ingresado la opcion desde teclado, en el menu
principal.


En cada linea siguiente del codigo se hace una referencia corta del significado del codigo implementado.

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.JOptionPane;


public class nomina {

public ArrayListp;
public Scanner key1;
public nomina(){

p=new ArrayList();

}

public void addPersona(Persona o){
p.add(o);
}

// Metodo para la carga de datos desde un archivo en el dico duro
//throws IOException

public void load() throws IOException {

try {
//metodo que prepara el archivo para la lectura
FileReader file_in=new FileReader("lista.txt");
//Scanner es el encargado de leerlo y pasarlo a un tipo de dato Persona
Scanner key=new Scanner(file_in);

for(;;){
String cad=key1.nextLine();
String[] aux=cad.split("-");
Persona p=new Persona(aux[0],aux[1],aux[2]);
addPersona(p);
}

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public void save() throws IOException{

try {
//creacion de un archivo
File a=new File("lista.txt");
a.delete();

a.createNewFile();

//FileWriter es una funcion que permite la escritura en el archivo lista.txt
//False=sobrescritura de los datos almacenados
FileWriter file_write=new FileWriter("lista.txt",false);
//manda los bytes a un buffer para ser puestos en el archivo
PrintWriter pw=new PrintWriter(file_write);
for(Persona m:p){
String cad=m.getName()+"-"+m.getTel()+"-"+m.getDir();
pw.println(cad);
JOptionPane.showMessageDialog(null,"Guardado con exito! ...");
}
file_write.flush();//garantiza que todo se escriba en el archivo
file_write.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void imprimir(){
for(Persona m:p){
JOptionPane.showMessageDialog(null, m.getName()+" "+m.getTel()+" "+m.getDir());
}
}

}

1 comentario:

  1. oe mae me lanza un error de incompatibilidad al usar la clase nomina el la parte del ciclo for:

    ---> for(Persona m:p){....
    .....
    }

    estos es en ambos es decir al momento de usar el metodo imprimir
    me dice que son tipos incompatibles que encuentra java.lang.object y necesita La clase Persona
    o cual es la verdadera clase nomina?????
    que hago man

    ResponderEliminar

Dejanos tu comentario acerca de las entradas y desarrollo del proyecto, sera de vital ayuda para seguir realizando un buen proyecto.
SALUDOS!!!