package com.dqb.serializable.demo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class SerializableDemo
{
public static void main(String[] args)
{
Person person = new Person("tom", "man", 11);
Person person2 = new Person("tom2", "man", 11);
Person person3 = new Person("tom3", "man", 11);
File file = new File("D:" + File.separator + "serializable.txt");
writeObj(file, person);
readObj(file);
}
/**
* 对象序列化
* @param file
* @param person
*/
private static void writeObj(File file, Person person)
{
FileOutputStream output = null;
ObjectOutputStream objectOutputStream = null;
try
{
output = new FileOutputStream(file);
objectOutputStream = new ObjectOutputStream(output);
objectOutputStream.writeObject(person);
System.out.println("写入完成!");
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
} finally
{
try
{
objectOutputStream.flush();
objectOutputStream.close();
output.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
/**
* 对象反序列化
* @param file
*/
private static void readObj(File file)
{
FileInputStream inputStream = null;
ObjectInputStream objectInputStream = null;
try
{
inputStream = new FileInputStream(file);
objectInputStream = new ObjectInputStream(inputStream);
Person p = (Person) objectInputStream.readObject();
System.out.println("p:" + p);
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
} catch (ClassNotFoundException e)
{
e.printStackTrace();
} finally
{
try
{
inputStream.close();
objectInputStream.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class SerializableDemo
{
public static void main(String[] args)
{
Person person = new Person("tom", "man", 11);
Person person2 = new Person("tom2", "man", 11);
Person person3 = new Person("tom3", "man", 11);
File file = new File("D:" + File.separator + "serializable.txt");
writeObj(file, person);
readObj(file);
}
/**
* 对象序列化
* @param file
* @param person
*/
private static void writeObj(File file, Person person)
{
FileOutputStream output = null;
ObjectOutputStream objectOutputStream = null;
try
{
output = new FileOutputStream(file);
objectOutputStream = new ObjectOutputStream(output);
objectOutputStream.writeObject(person);
System.out.println("写入完成!");
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
} finally
{
try
{
objectOutputStream.flush();
objectOutputStream.close();
output.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
/**
* 对象反序列化
* @param file
*/
private static void readObj(File file)
{
FileInputStream inputStream = null;
ObjectInputStream objectInputStream = null;
try
{
inputStream = new FileInputStream(file);
objectInputStream = new ObjectInputStream(inputStream);
Person p = (Person) objectInputStream.readObject();
System.out.println("p:" + p);
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
} catch (ClassNotFoundException e)
{
e.printStackTrace();
} finally
{
try
{
inputStream.close();
objectInputStream.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
}