Tengo problemas para escribir y leer objetos de un archivo usando Java.
El siguiente es el código fuente. Cuando se ejecuta, aparece: Código de tipo no válido: AC, muy confuso.
clase RW {
public static void main(String[] args) {
out = null;
System.gc();
prueba {
out = new ObjectOutputStream(new FileOutputStream("H:/d.dat", true));
test1("jaja", "bueno, ah");
test1("llegó a la flor Puma Road, la tendencia de ah ah encontró la sala de audiencias del caso Asgari Rica", "Sri Lanka");
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
out = null
System.gc; ();
//
test2();
}
estático ObjectOutputStream = nulo; > static ObjectInputStream in = null;
static void test1(String name, String age) {
prueba {
jaja a = new jaja() ;
a.name = new String(nombre);
a.age = new String(edad
out.writeObject(a); /p >
out.flush();
} catch (Excepción e) {
System.out.println(e); p>
}
static void test2() {
prueba {
in = null;
System. gc( );
in = new ObjectInputStream(new FileInputStream("H:/d.dat")); ) {
jaja a = (jaja) in.readObject();
System.out.println(a.name "\n" a.age); p>
}
in.close();
in = nulo
System.gc(); }
captura (Excepción e) {
Sys
tem.out.println(e);
}
}
}
clase jaja implementa Serializable {
Nombre de la cadena;
Edad de la cadena
versión de serie larga estática privada = 1221212L
}
Consulte En el código anterior, la secuencia de objetos se marca cuando está cerrada. Si desea almacenar varios valores varias veces en el archivo original, puede tomar, cuando se crea la nueva secuencia de objetos, out = new ObjectOutputStream(new FileOutputStream("H . /d:/d. dat", true)); Si no hay true, sáquelo primero y luego agregue nuevos valores. Si desea almacenar varios objetos, puede escribir una colección en la secuencia para facilitar la operación. Espero que esto ayude.