我需要将对象存储在文件中(.txt,.mio,.Whatever)
我正在使用java
我试图实现Serialize类来序列化对象然后存储它们,但是我无法获得所需的结果。
修改
这个想法是将多个对象存储在同一个文件中,然后打开文件并查找特定对象,操作对象。等等 就好像它只是一个SQL数据库,只有对象存储在文件中。
哪个会解决这个问题?一种在文件中存储对象的方法,然后你可以调用它们,搜索它们,将它们存储在一个数组中。
感谢任何想法和帮助。
CODE
import java.io.Serializable;
public class Contacto implements Serializable {
private String nombre;
private String apellido;
public Contacto(String nombre, String apellido){
this.nombre = nombre;
this.apellido = apellido;
}
public String getNombre(){
return this.nombre;
}
public String getApellido(){
return this.apellido;
}
public void setNombre(String n){
this.nombre = n;
}
public void setApellido(String a){
this.apellido = a;
}
public String toString(){
return this.getApellido() +" "+ this.getNombre();
}
}
/////////////////////////////////////////////// /////////////////////////////
import java.io.*;
public class Serializador{
// Escribe un objecto en un archivo
private ObjectOutputStream escritorArchivo;
// Lee un objecto que este guardado en un archivo
private ObjectInputStream lectorArchivo;
// Al metodo le pasamos el objeto que queremos serializar y lo guardará en el archivo que se le especifique al FileOutputStream (en este caso "objeto.mio")
public void escribirArchivo(Object objeto){
try{
escritorArchivo = new ObjectOutputStream(new FileOutputStream("objeto.mio"));
escritorArchivo.writeObject(objeto);
} catch(FileNotFoundException fnfex){
fnfex.printStackTrace();
} catch(IOException ioex){
ioex.printStackTrace();
}
}
public Object leerArchivo(String rutaArchivo){
Object lectura = null;
try{
lectorArchivo = new ObjectInputStream(new FileInputStream(rutaArchivo));
lectura = lectorArchivo.readObject();
} catch(FileNotFoundException fnfex){
fnfex.printStackTrace();
} catch(IOException ioex){
ioex.printStackTrace();
} catch(ClassNotFoundException cnfex){
cnfex.printStackTrace();
}
return lectura;
}
}
代码显示了基本概念,但这是一个可以丢弃的想法。
非常感谢。