我必须引用引用,
1.将帐户保存到二进制(序列化)文件。 2.从二进制(序列化)文件中加载(重新创建)帐户。
首先,我正在查找究竟是什么的例子,我迷失了,在相同的场景中人们提到xml,在我的脑海中,我认为这意味着像01010011000(二进制),当我看到其他代码时,它看起来像普通的文本文件一样保存。
他究竟是什么意思,有人可以发布一个例子,或者给我一个更好地阐明这一点的网站? 一旦我看到我真正需要做的事情,我就可以轻松地实现它,我只是对确切保存的内容(数据方式)和方式感到困惑。
*如果我可以将一些代码用于此二进制文件,我已经有了通过文本文件(.txt)保存的选项。
谢谢!
这就是我现在所拥有的,我认为它仍然不起作用。
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.logging.Level;
import java.util.logging.Logger;
public class SerializationMain implements Serializable {
public static void saveSerialized(Object YourObject, String filePath) throws IOException {
ObjectOutputStream outputStream = null;
try {
outputStream = new ObjectOutputStream(new FileOutputStream(filePath + ".dat"));
outputStream.writeObject(YourObject);
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
} finally {
try {
if (outputStream != null) {
outputStream.flush();
outputStream.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
public static Object loadSerialized(String filePath, Object[][] data1) throws IOException {
try {
FileInputStream fileIn = new FileInputStream(filePath);
ObjectInputStream in = new ObjectInputStream(fileIn);
try {
data1 = (Object[][]) in.readObject();
} catch (ClassNotFoundException ex) {
Logger.getLogger(SerializationMain.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
System.out.println(data1.length);
return data1;
}
}
答案 0 :(得分:1)
首先点击谷歌:http://www.javacoffeebreak.com/articles/serialization/index.html - 基本上你应该将对象序列化为文件。然后你可以稍后再将它加载到一个对象中。
答案 1 :(得分:0)
假设您有一个名为“account”的课程,您只需要在课程标题的顶部实现 Serializable。
根据我的理解,这会将所有数据序列化为二进制形式。当然,您仍然需要执行使用ObjectOutputStream / ObjectInputStream将类对象实际写入/读取到文件的步骤。
所以例如......
public class account implements Serializable
{ ...
}
然后在您的主函数中,例如,您要保存对象的位置,您将创建一个File,将其附加到ObjectOutputStream并以二进制形式写出您的对象。