struct en java??

Iniciado por br7, 12 Noviembre 2014, 23:52 PM

0 Miembros y 1 Visitante están viendo este tema.

br7

hola amig@s

estuve buscando una struct  en java por lo que investigue no hay  :( , en c o c++ si hay struct

algo  equivalente para java ??

digamos yo tengo que leer un txt que contiene por ejemplo separado por como: nombre, apellido, etc..
pero tengo que guárdalo como en una struct  pero veo que java no hay

estoy viendo usar una  lista o que me recomienda algún ejemplo ;-)

alguna idea para hacerlo ??   :laugh:
(no estoy pidiendo que me hagan la tarea solo quiero la mejor forma para resolverlo)

Gracia al que conteste

MNicolas

Si quieres leer datos de personas de un fichero usa una clase llamada Persona y dentro de ella los atributos (nombre, apellido...)

Luego creas un arraylist y metes ahí cada persona.

MeCraniDOS

Puedes crear una clase Persona, como dice Nicolão de la siguiente manera

Código (java) [Seleccionar]
import java.io.Serializable;

public class Persona implements Serializable
{
    private String nombre;
    private String apellido;
    //private String bla bla bla

    public Persona(String nombre, String apellido) {
        this.nombre = nombre;
        this.apellido = apellido;
    }

    public String getNombre() {
        return nombre;
    }

    public String getApellido() {
        return apellido;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public void setApellido(String apellido) {
        this.apellido = apellido;
    }
}


Lo básico de una clase, getters, setters, constructores, etc

Y escribir y leer del archivo de la siguiente manera,


Escribir:

Código (java) [Seleccionar]
Persona person = new Persona("MeCra", "niDOS");
FileOutputStream saveFile = new FileOutputStream("personas.bin");

try(ObjectOutputStream save = new ObjectOutputStream(saveFile))
{
    save.writeObject(person);
}


Leer:

Código (java) [Seleccionar]
FileInputStream readFile = new FileInputStream("personas.bin");

try (ObjectInputStream read = new ObjectInputStream(readFile))
{
    Persona person;
    boolean eof = false;

    while (!eof)
    {
         try
         {
              person = (Persona) read.readObject();
                               
              //...
                   
         }
         catch (EOFException e)
         {
              eof = true;
         }
    }
}


Espero que te sirva,
Saludos
"La física es el sistema operativo del Universo"
     -- Steven R Garman

br7

ah ya veo la idea  :o

Gracias por el aporte  ;-)