本文只是Java序列化测试代码,晚点会更新SQL编程的使用代码,以及知识点!!记得关注
package ch09;
import java.io.*;public class TestBuffer {
public static void main(String[] args)throws Exception {
Person per[]= {new Person("张三",30),new Person("李四",31),new Person("王五",32)};
ser(per);
Object o[]=desr();
for (int i = 0; i < o.length; i++) {
Person p=(Person)o[i];
System.out.println(p);
}
}
private static void ser(Object obj[])throws Exception {
File f=new File("E:\\JAVA文件"+File.separator+"密钥.txt");
ObjectOutputStream oos=null;
OutputStream out=new FileOutputStream(f);
oos=new ObjectOutputStream(out);
oos.writeObject(obj);
oos.close();
}
private static Object[] desr() throws Exception{
File f=new File("E:\\JAVA文件"+File.separator+"密钥.txt");
ObjectInputStream ois=null;
InputStream input=new FileInputStream(f);
ois=new ObjectInputStream(input);
Object obj[]=(Object[])ois.readObject();
ois.close();
return obj;
}
}
package ch09;
import java.io.*;
public class Person implements Serializable{
private static final long serialVersionUID =1L;
private transient String name;
private int age;
public Person(String name,int age) {
this.name=name;
this.age=age;
}
public String tostring() {
return"姓名:"+this.name+";年龄"+this.age;
}
}
测试2
package demo1;
import java.io.Serializable;
/*
* 学生对象实体类
* 对象要能序列化,必须要实现 Serializable接口
*/
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private int age;
private char sex;
//添加transient关键字,则该属性在序列化是不写入文件
//private transient String phone;
private String phone;
public Student(){
}
public Student(String name, int age, char sex, String phone) {
this.name = name;
this.age = age;
this.sex = sex;
this.phone = phone;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
package demo1;
import java.io.*;
import java.util.*;
public class TestWriteList {
public static void main(String[] args) throws Exception {
//将一个学生对象的集合写入文件
//创建一个集合
ArrayList<Student> list = new ArrayList<Student>();
//往集合中添加学生对象
list.add(new Student("张三",18,'男',"13812345678"));
list.add(new Student("李四",20,'女',"13833333333"));
list.add(new Student("王五",19,'男',"13866666666"));
list.add(new Student("赵六",22,'男',"13888888888"));
list.add(new Student("田七",21,'女',"13855555555"));
//创建一个底层输出流
FileOutputStream fos = new FileOutputStream("E:\\二学期\\Java语言程序设计\\files\\list");
//根据底层流构建一个对象输出流(高层流)
ObjectOutputStream oos = new ObjectOutputStream(fos);
//将集合写入文件
oos.writeObject(list);
//释放资源
oos.close();
fos.close();
System.out.println("集合已写入文件!");
}
}
package demo1;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
public class TestReadList {
public static void main(String[] args) throws Exception {
//将一个集合从文件中读取出来
FileInputStream fis = new FileInputStream("E:\\二学期\\Java语言程序设计\\files\\list");
ObjectInputStream ois = new ObjectInputStream(fis);
Object obj = ois.readObject();
if(obj instanceof ArrayList){
ArrayList<Student> list = (ArrayList<Student>)obj;
System.out.println("姓名\t年龄\t性别\t电话");
System.out.println("-----------------------------------");
for(Student stu : list){
System.out.println(stu.getName()+"\t"+stu.getAge()+"\t"+stu.getSex()+"\t"+stu.getPhone());
}
}
ois.close();
fis.close();
}
}
package demo1;
import java.io.*;
public class TestObjectOutputStream {
public static void main(String[] args) throws IOException {
/********对象序列化(将对象写入文件)*********/
//创建一个学生对象
Student stu = new Student("张三",18,'男',"13812345678");
//创建一个底层输出流
FileOutputStream fos = new FileOutputStream("E:\\二学期\\Java语言程序设计\\files\\object.txt");
//根据底层流构建一个对象输出流(高层流)
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(stu);
oos.close();
fos.close();
System.out.println("对象序列化完毕!");
}
}
package demo1;
import java.io.*;
public class TestObjectInputStream {
public static void main(String[] args) throws Exception {
/********对象反序列化(将对象从文件中读取出来)*********/
FileInputStream fis = new FileInputStream("E:\\二学期\\Java语言程序设计\\files\\object.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
Object obj = ois.readObject();
Student stu = (Student)obj;
System.out.println("姓名:"+stu.getName());
System.out.println("年龄:"+stu.getAge());
System.out.println("电话:"+stu.getPhone());
ois.close();
fis.close();
}
}