zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java:序列化Serializable 接口

JAVA接口 序列化 serializable
2023-09-14 08:57:51 时间

java:序列化Serializable 接口

public class SerializePerson implements Serializable {

	private String name;
	private int age;
	
	public SerializePerson(String name, int age)
	{
		
		this.name = name;
		this.age = age;
	}

	@Override
	public String toString() {
		return "姓名:" + name + ", 年龄:" + age;
	}
	
	
	
	
}

  

 

一,单对象序列化

public static void main(String[] args) throws Exception, Exception {
		// TODO 自动生成的方法存根
		
		
		
		if(  args[0].equals("set") )
		{
			
			setPseron();
			
		}else if( args[0].equals("get") )
		{
			getPseron();
		}else{
			System.out.println("抱歉,你什么都没有输入");
		}
		System.out.println(args[0]);

	}
	
	public static void setPseron() throws Exception, IOException
	{
		
		File file = new File("F:"+File.separator+"work"+File.separator+"work"+File.separator+"a.txt");
		ObjectOutputStream oobs = null;
		oobs = new ObjectOutputStream( new FileOutputStream(file) );
		oobs.writeObject(new SerializePerson("张三",22));
		oobs.close();
		
		
	}
	
	public static void getPseron() throws Exception, IOException
	{
		File file = new File("F:"+File.separator+"work"+File.separator+"work"+File.separator+"a.txt");
		ObjectInputStream oips = null;
		oips = new ObjectInputStream( new FileInputStream(file) );
		Object obj = oips.readObject();
		SerializePerson per = (SerializePerson) obj;
		System.out.println(per);
		 
	}

  

 

二。多对象,多数组序列化

public static void main(String[] args) throws Exception, Exception
	{
		
		
		if(args[0].equals("set"))
		{
			
			setPerson();
		}else if(args[0].equals("get"))
		{
			Object obj = getPerson();
			SerializePerson per[] = (SerializePerson[]) obj;
			print(per);
			
		}else{
			System.out.println("请输入一个操作");
		}
		
	}
	
	public static void setPerson() throws Exception, IOException
	{
		File file = new File("F:"+File.separator+"work"+File.separator+"work"+File.separator+"person.per");
		ObjectOutputStream  oopt = new ObjectOutputStream( new FileOutputStream(file) );
		
		SerializePerson per[] = {new SerializePerson("张三",22), new SerializePerson("李四",44), new SerializePerson("王五",33)};
		oopt.writeObject(per);		
		oopt.close();
	}
	
	public static Object getPerson() throws Exception, IOException
	{
		File file = new File("F:"+File.separator+"work"+File.separator+"work"+File.separator+"person.per");
		ObjectInputStream lis = null;
		lis = new ObjectInputStream( new FileInputStream(file) );
		Object obj = null;
		obj = lis.readObject();
		lis.close();
		return obj;
		
	}
	
	public static void print(SerializePerson per[])
	{
		for(SerializePerson p: per)
		{
			System.out.println(p);
		}
	}