缓冲输入流、缓冲输出流、对象序列化转为byte[]、byte[]转化反序列化为对象

字节流:
InputStrean 字节输入流 从文件到程序
OutputStream 字节输出流 从程序到文件。
由于输入流、输出流内容较多,本文只介绍常用的文件输入流、文件输出流和序列化对象、反序列化对象。
关于流的总体框架推荐如下文章
http://www.cnblogs.com/biehongli/p/6074713.html
BufferedInputStrean和BufferedOutputStream为InputStrean和OutputStream增加了内存缓冲区,根本目的是允许Java的IO流一次操作多个字节,从而提高系统的性能。缓冲流通常以其他输入流作为她的输入源,经过滤或处理后以新的输入流的形式提供给用户。

InputStrean in=new FileInputStream(new File(“地址”));//FileInputStream是InputStrean的子类,主要用于从文件读取数据;
BufferedInputStream(InputStrean in) //按照32个字节缓冲区的缓冲流
BufferedInputStream(InputStrean in,int size)//指定大小的缓冲流

BufferedOutputStream(OutputStream in) //按照32个字节缓冲区的缓冲流
BufferedOutputStream(OutputStream in,int size)//指定大小的缓冲流

对象序列化:对象转换成字节输出到指定文件
File f=new File(“d:stuInfo.txt”);
OutputStream outStream=new FileOutputStream(f);
ObjectOutputStream os=new ObjectOutputStream(outStream);
os.writeObject(new Student(“tom”,20));
outStream.close();
os.close();
对象序列化转为byte[]
ByteArrayOutputStream outStream=new ByteArrayOutputStream(512);
ObjectOutputStream out=new ObjectOutputStream(outStream);
out.writeObject((Serializable)new Student(“tom”,20));
byte[] obj=outStream.toByteArray();
对象反序列化:自己转换成对象
File f=new File(“d:stuInfo.txt”);
InputStream inStream=new FileInputStream(f);
ObjectInputStream os=new ObjectInputStream(in);
Object object=in.readObject();
Student stu=(Student)object;
System.out.print(“姓名”+stu.getName());
System.out.print(“姓名”+stu.getAgee());
inStream.close();
in.close();
byte[] obj转化反序列化为对象
ByteArrayInputStream inputStream=new ByteArrayInputStream (obj);
ObjectInputStream in=new ObjectInputStream (inputStream);
Object obj=in.readObject();

InputStreamReader 和OutputStreamWriter 分别是Reader和Writer的子类,二者用于字节流和字符流之间的转换。
InputStreamReader用于将输入的字节流转变为字符流
OutputStreamWriter 用于将输入的字符流转变为字节流
InputStreamReader(InputStream in)
InputStreamReader(InputStream in,String charsetName

OutputStreamWriter ((OutputStream out))
OutputStreamWriter (OutputStream out,String charsetName)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值