Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Ayuda con Arreglo de Objetos, Clases y ficheros... JAVA

Hola, soy nuevo en el foro y vengo buscando ayuda con un ejercicio que me dieron en la universidad, sucede que debo crear un arreglo de objetos (eso lo tengo listo), mi problema es que debo llenarlo en una clase auxiliar y leyendo los datos desde un fichero y eso no sé como hacerlo, me podrían ayudar o echar una mano por favor?? se los agradecería mucho...

diciembre 16, 2015 | Unregistered CommenterArturo Urra

Hola no se si esto te puede servir .

//1º Creamos un objeto Serializable
/*2º Creamos la variable serialVersionUID que nos vale para asignar una versión al objeto para poder recuperarlo después del fichero donde lo guardamos. */
--------------------------------------------------------------------------------------
import java.io.Serializable;
public class Objeto implements Serializable{
private static final long serialVersionUID = 1L;
private String nombre;
private String tipo;

public Objeto(String nombre, String tipo) {
this.nombre = nombre;
this.tipo = tipo;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}

public String toString() {
return "{'Objeto':{'nombre':'"+nombre+"','tipo':'"+tipo+"'}}";
}
}
--------------------------------------------------------------------------------------------------------------
//3º Creamos un método para introducir unos objetos en el fichero de prueba.
/*4º Dentro del método main mediante el objeto auxiliar recuperamos los objetos guardados en el fichero*/
public class Main {
public static void main(String[] args){
rellenarFichero();
Object[] objetos = new Object[3];
new Auxiliar().leerFichero("fichero.tmp", objetos);
for(int i=0; i<objetos.length; i++){
System.out.println(objetos[i]);
}
}

public static void rellenarFichero(){
Object[] objetos = new Object[3];
objetos[0] = new Objeto("Nombre1","Tipo1");
objetos[1] = new Objeto("Nombre2","Tipo2");
objetos[2] = new Objeto("Nombre3","Tipo3");
new Auxiliar().rellenarArreglo("fichero.tmp",objetos);
}
}

------------------------------------------------------------------------------------------------------------
//Clase auxiliary que realiza las operaciones de escritura y lectura del fichero.
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;


public class Auxiliar {
public void rellenarArreglo(String fichero, Object[] objetos){
FileOutputStream fos;
File file = new File(fichero);
try {
fos = new FileOutputStream(fichero);
ObjectOutputStream ois = new ObjectOutputStream(fos);
for(int i=0; i<objetos.length; i++){
ois.writeObject(objetos[i]);
}
ois.close();
} catch (Exception e) {
e.printStackTrace();
}
}

public void leerFichero(String fichero, Object[] objetos){
if(objetos != null && objetos.length > 0){
FileInputStream fis;
try {
fis = new FileInputStream(fichero);
ObjectInputStream ois = new ObjectInputStream(fis);
for(int i=0; i<objetos.length; i++){
objetos[i] = ois.readObject();
}
ois.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}

Si tienes alguna duda mandame un correo y lo vemos.

diciembre 17, 2015 | Unregistered CommenterFermín Martín García