代码片段4
package IOTest;
import java.io.*;
/**
* 输入输出流测试,原文件将不会被覆盖,而是像日志一样一直被写入
* @author 黄端修改
*/
public class BaseIOv3 {
//程序主方法
public static void main(String args[])throws Exception{
BaseIOv3 bi=new BaseIOv3();
//读取我们当前正在编写的这个java源文件
String srcName="src\\IOTest\\BaseIOv3test.java.bak";
boolean result=bi.writeReadObject(srcName);
System.out.println("复制结果:"+result);
}
/**
* 将一个对象写入到流中,再从流中读取出画
* @param fileName:绿写入的文件名
* @return ;是否写入成功
* @throws Exception
*/
public boolean writeReadObject(String fileName)throws Exception{
//Customer类是一个实现Serializable接口的类
//我们在此保存并读取它的一个对象
Customer customer=new Customer();
customer.setName("abc");
FileOutputStream fos=new FileOutputStream(fileName);
//构造对象输出流
ObjectOutputStream out=new ObjectOutputStream(fos);
//保存对象
out.writeObject(customer);
out.flush();
out.close();
//读取对象
FileInputStream fis=new FileInputStream(fileName);
ObjectInputStream input=new ObjectInputStream(fis);
//需要强制转型,从流中读到的是一个Object类型的
Customer inCus=(Customer)input.readObject();
System.out.println("读取对象:"+inCus.getName());
return true;
}
}
代码片段5
package IOTest;
import java.io.*;
/**
* 输入输出流测试
* @author www.NetJava.cn
*/
public class BaseIOv4 {
//程序主方法
public static void main(String args[])throws Exception{
BaseIOv4 bi=new BaseIOv4();
bi.dataTypeStream();
}
/**
* 向文件中按数据类型的长度写入数据并读取
* @throws Exception
*/
public void dataTypeStream() throws Exception {
String fileName = "msg.conent";
FileOutputStream fos = new FileOutputStream(fileName);
DataOutputStream dos = new DataOutputStream(fos);
//按类型写入
dos.writeBoolean(true);
dos.writeByte((byte) 123);
dos.writeChar('J');
dos.writeDouble(3.141592654);
dos.writeFloat(2.7182f);
dos.writeInt(1234567890);
dos.writeLong(998877665544332211L);
dos.writeShort((short) 11223);
//按类型读取
DataInputStream dis = new DataInputStream(new FileInputStream(fileName));
System.out.println("\t " + dis.readBoolean());
System.out.println("\t " + dis.readByte());
System.out.println("\t " + dis.readChar());
System.out.println("\t " + dis.readDouble());
System.out.println("\t " + dis.readFloat());
System.out.println("\t " + dis.readInt());
System.out.println("\t " + dis.readLong());
System.out.println("\t " + dis.readShort());
}
}
代码片段6
package IOTest;
import java.io.Serializable;
public class Customer implements Serializable{
private String name;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
}
<!--EndFragment-->