【Java IO】 四、Writer和Reader源码阅读

20160421004327228.png

##1.Writer
官方描述: 写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。

#####继承了三个接口

public abstract class Writer implements Appendable, Closeable, Flushable {


//缓存区 ,如欲写入String/CharSequence将使用该buffer
    private char[] writeBuffer;
//默认的大小,如写入的String大于该缓冲区,则会新建相应大小的buffer
    private static final int WRITE_BUFFER_SIZE = 1024;

  
    protected Object lock;

    protected Writer() {
        this.lock = this;
    }

    protected Writer(Object lock) {
        if (lock == null) {
            throw new NullPointerException();
        }
        this.lock = lock;
    }

    public void write(int c) throws IOException {
//加锁
        synchronized (lock) {
//如果buffer未初始化,则初始化
            if (writeBuffer == null){
                writeBuffer = new char[WRITE_BUFFER_SIZE];
            }
//将 写入的in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值