字节输出流OutputStream

1、OutputStream是输出字节流的超类。

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        File file = new File("E:\\IO流\\java\\1.txt");
        FileOutputStream f = new FileOutputStream(file, true);// 加true后可以实现续写功能
        String str = "\r\n" + "nihao";// 换行
        f.write(str.getBytes());
        f.write("你好".getBytes());
        f.write(8);
        f.close();//释放输出流的资源占用

    }
}

2、字节缓冲输出流BufferedOutputStream:

write()方法所写的数据并不是直接写入到外设,而是先存放到缓冲区中,积累到一定程度再写到外设,这样可以提高系统效率。但有的时候缓冲区不满就需要写到外设上,需要调用flush()方法。

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class BufferedOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        File file = new File("E:\\IO流\\java\\123.txt");
        FileOutputStream f = new FileOutputStream(file, true);// 加true后可以实现续写功能
        BufferedOutputStream bos = new BufferedOutputStream(f);

        bos.write("你好".getBytes());

        bos.close();
    }
}

效率测量:

使用缓冲流:

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class BufferedOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        File file = new File("E:\\IO流\\java\\123.txt");
        FileOutputStream f = new FileOutputStream(file, true);// 加true后可以实现续写功能
        BufferedOutputStream bos = new BufferedOutputStream(f);
        long startTime = System.currentTimeMillis();
        for(int i=1;i<=1000;i++)
        bos.write("你好".getBytes());
        long endTime = System.currentTimeMillis();
        System.out.println("执行此程序用了" + (endTime - startTime) + "毫秒。");
        bos.close();

    }
}

 

 

未使用缓冲流:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class BufferedOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        File file = new File("E:\\IO流\\java\\123.txt");
        FileOutputStream f = new FileOutputStream(file, true);// 加true后可以实现续写功能

        long startTime = System.currentTimeMillis();
        for (int i = 1; i <= 1000; i++)
            f.write("你好".getBytes());
        long endTime = System.currentTimeMillis();
        System.out.println("执行此程序用了" + (endTime - startTime) + "毫秒。");
        f.close();

    }
}

 

转载于:https://www.cnblogs.com/zhai1997/p/11365455.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值