加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

DataOutputStream、FileOutputStream和ByteArrayOutputStream

(2015-03-31 07:07:26)
标签:

佛学

分类: Java面向对象程序设计

为了能够提高读写效率,一次性把数据写、读。我们采用DataOutputStream。

针对file的写、读,我们使用DataOutputStream装饰FileOutputStream;

针对byte的写读,我们使用DataOutputStream装饰ByteArrayOutputStream。

下面是实例代码,已经经过测试,请注意e:/io.txt。

package test;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Test {
    public static void main(String[] args) throws Exception {
        // DataOutputStream装饰FileOutputStream
        FileOutputStream out = new FileOutputStream("e:/io.txt");
        BufferedOutputStream bout = new BufferedOutputStream(out);
        DataOutputStream dout = new DataOutputStream(bout);
        dout.writeByte(-12);
        dout.writeLong(12);
        dout.writeChar('1');
        dout.writeFloat(1.01f);
        dout.writeUTF("你好FileOutputStream和DataOutputStream");
        dout.close();

        FileInputStream in = new FileInputStream("e:/io.txt");
        BufferedInputStream bin = new BufferedInputStream(in);
        DataInputStream din = new DataInputStream(bin);
        System.out.println(din.readByte());
        System.out.println(din.readLong());
        System.out.println(din.readChar());
        System.out.println(din.readFloat());
        System.out.println(din.readUTF());
        din.close();

        // DataOutputStream装饰ByteArrayOutputStream
        try {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            DataOutputStream dos = new DataOutputStream(baos);
            dos.writeUTF("你好ByteArrayOutputStream和DataOutputStream");
            dos.close();

            byte[] data = baos.toByteArray();
            ByteArrayInputStream bais = new ByteArrayInputStream(data);
            DataInputStream dis = new DataInputStream(bais);
            System.out.println(dis.readUTF());
            dis.close();
        } catch (Exception e) {

        }
    }
}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有