serialctl.java

来自「翁剀JAVA语言那门课程的教案 很多人都看多他的视频教程可惜没有ppt的教案」· Java 代码 · 共 47 行

JAVA
47
字号
//: SerialCtl.java
// Controlling serialization by adding your own
// writeObject() and readObject() methods.
import java.io.*;

public class SerialCtl implements Serializable {
	String a;
	transient String b;
	public SerialCtl(String aa, String bb) {
		a = "Not Transient: " + aa;
		b = "Transient: " + bb;
	}
	public String toString() {
		return a + "\n" + b;
	}
	private void writeObject(ObjectOutputStream stream)
		throws IOException {
		stream.defaultWriteObject();
		stream.writeObject(b);
	}
	private void readObject(ObjectInputStream stream)
		throws IOException, ClassNotFoundException {
		stream.defaultReadObject();
		b = (String)stream.readObject();
	}
	public static void main(String[] args) {
		SerialCtl sc =
		new SerialCtl("Test1", "Test2");
		System.out.println("Before:\n" + sc);
		ByteArrayOutputStream buf =
			new ByteArrayOutputStream();
		try {
			ObjectOutputStream o =
				new ObjectOutputStream(buf);
			o.writeObject(sc);
			// Now get it back:
			ObjectInputStream in =
				new ObjectInputStream(
					new ByteArrayInputStream(
						buf.toByteArray()));
			SerialCtl sc2 = (SerialCtl)in.readObject();
			System.out.println("After:\n" + sc2);
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
} ///:~

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?