代码改变世界

java io读书笔记(6) Writing Arrays of Bytes

2013-07-16 10:19  很大很老实  阅读(184)  评论(0编辑  收藏  举报

显而易见,一次性写出一堆数据,要比一个byte一个byte的写,快多了,因此,outputstream,给出了2个增强型的write:

public void write(byte[] data) throws IOException

public void write(byte[] data, int offset, int length) throws IOException

这两个方法,可以参看上一个单元的outputstream类的源代码:

 

import java.util.*;
import java.io.*;

public class TestList {

    public static void main(String[] args) {
        
        String s = "How are streams treating you?";
        byte[] data = s.getBytes( );
        try{
        System.out.write(data);
        }catch (IOException ex) {
              System.err.println(ex);
        }



    }
}

有利就有弊,当你一次性想写入太多字符的时候,必然会碰到性能问题。根据写入目标不同,我们需要选择不同大小的字符数量:

比如写入文件,那最好是块的整数倍,比如:1024,2048,3096等等。

比如通过网络传输数据,往往要求小于128或者256bytes。