对象流ObjectStream的使用
package com.object;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import org.junit.Test;
import com.bean.Contact;
import com.bean.User;
/**
* 对象流的使用
*/
public class ObjectStreamTest {
// 反序列化操作
@Test
public void test02() throws Exception {
ObjectInputStream ois = new ObjectInputStream(
new FileInputStream("xx.data"));
Object obj = ois.readObject();
User user = (User) obj;
System.out.println(user);
ois.close();
}
// 序列化操作
@Test
public void test01() throws IOException {
ObjectOutputStream oos = new ObjectOutputStream(
new FileOutputStream("hpeu.data"));
oos.writeObject(new User("张三", 20, new Contact("138776543", "重庆渝北")));
oos.close();
}
}
数据输入/出流的使用
package com.data;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.junit.Test;
// 数据输入/出流的使用
public class DataOutputStreamTest {
// 输入
@Test
public void test02() throws IOException {
DataInputStream dis = new DataInputStream(
new FileInputStream("data.txt"));
byte b = dis.readByte(); // 读取字节数组类型的数据
int v = dis.readInt(); // 读取整数类型数据
long l = dis.readLong();
char c = dis.readChar();
boolean f = dis.readBoolean();
System.out.println(new String(new byte[] {b}));
System.out.println("int -- " + v);
System.out.println("long -- " + l);
System.out.println("char -- " + c);
System.out.println(f);
dis.close();
}
// 输出
@Test
public void test01() throws IOException {
DataOutputStream dos = new DataOutputStream(
new FileOutputStream("data.txt"));
dos.writeByte(10);
dos.writeInt(29);
dos.writeLong(System.currentTimeMillis());
dos.writeChar(97);
dos.writeBoolean(false);
dos.close();
}
}