ObjectOutputStream oos = new ObjectOutputStream(fis)
{
// 重写 writeStreamHeader()方法,空实现
protected void writeStreamHeader(){};
};
// 写入数据
for(Object o : objs)
{
oos.writeObject(o);
}
// 关闭流
oos.close();
}
static private List
{
File file = new File(fileName);
// 使用List保存读取出来的对象
ArrayList
// 创建流对象
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
// 读取对象并放入List容器中
while(fis.available() > 0)
{
list.add((User)ois.readObject());
}
ois.close();
return list; // 返回List
}
static private void writeObj(Object[] objs,String fileName) throws Exception
{
// 使用命令行参数中指定的文件名
File file = new File(fileName);
// 创建流对象
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));
// 写入对象
for(Object o : objs)
{
oos.writeObject(o);
}
// 关闭流
oos.close();
}
}
package cls;
import java.io.*;
import java.util.*;
import cls.User;
public class ObjectStreamDemo
{
public static void main(String[] args)
{
User[] user = new User[]{new User("dogg",1),new User("catt",2),new User("pigg",3)};
// 向文件中写入对象
try
{
ObjectStreamDemo.writeObj(user,args[0]);
}
{
System.out.println(e.toString());
}
// 向文件中追加对象
try
{
// 要追加的对象
User[] u = new User[]{new User("append1",4),new User("append2",5)};
ObjectStreamDemo.appendObj(u,args[0]);
}
catch(Exception e)
{
System.out.println(e.toString());
}
// 读取对象
try
{
List
// 输出对象信息
Iterator
while(it.hasNext())
{
User temp = it.next();
System.out.println(temp.getName() + "," + temp.getNum());
}
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
static private void appendObj(Object[] objs,String fileName) throws Exception
{
File file = new File(fileName);
// 以追加模式创建文件流对象
FileOutputStream fis = new FileOutputStream(file,true);
ObjectOutputStream oos = new ObjectOutputStream(fis)
{
// 重写 writeStreamHeader()方法,空实现
protected void writeStreamHeader(){};
};
// 写入数据
for(Object o : objs)
{
oos.writeObject(o);
}
// 关闭流
oos.close();
}
static private List
{
File file = new File(fileName);
// 使用List保存读取出来的对象
ArrayList
// 创建流对象
FileInputStream fis = ne