本帖最后由 jdgdf566 于 2013-11-14 12:05:37 编辑

解决方案 »

  1.   

    BufferedOutputStream 好像高一点。
      

  2.   

    buffer是字符流 data是字节流..前者涉及编码..后者无编码干扰
      

  3.   

    BufferedOutputStream类里面没有涉及字符集的地方啊
      

  4.   

    一般都是用bufferedoutputstream去创建dataoutputstream
        DataOutputStream out2 = 
        new DataOutputStream( 
        new BufferedOutputStream(new FileOutputStream("Data.txt"))
        );如果你不是特别需要写INT, DOUBLE之类的数据,可以直接用BUFFEREDOUTPUTSTREAM
      

  5.   

    BufferedOutputStream类里面没有涉及字符集的地方啊看错了..刚写代码在用bufferedreader看混了..前者是有缓存..可以数据通过和reset重置数据操作..后者不可..感觉速度应该是差不多..这个没研究过..观望大神出现...
      

  6.   

    BufferedOutputStream只是把你要写的自动flush,另一个你要显示提交flush,还有DataOutputStream主要是用于将基本 Java 数据类型写入输出流中,简单的byte类型用原始的outputstream就够了
      

  7.   

    那么如果对于文本数据,我这样写没有问题吧:BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(os, charsetName));也就是用OutputStreamWriter去创建BufferedWriter
      

  8.   


    测试了下,发现
    BufferedInputStream bis = new BufferedInputStream(new FileInputStream(path));
    for (int i=0;i<1000;i++) {
         int b = bis.read();
     }
    如果i比较大的话,仍然非常占用系统资源,非常慢。那么BufferedInputStream没有缓冲效果啊。