Writer和FileOutputStream中write()方法里面可以添加哪些参数整理总结

由于JavaSE部分的考试练习中因为此知识要点做错题目,所以对知识要点进行了整理,一下代码为本人查看源码总结得出,如果有错误和补充欢迎指出说明。

1. Writer抽象类中的write()方法里面可以添加哪些参数

public void write(int c) throws IOException {
        synchronized (lock) {
            if (writeBuffer == null){
                writeBuffer = new char[WRITE_BUFFER_SIZE];
            }
            writeBuffer[0] = (char) c;
            write(writeBuffer, 0, 1);
        }
    }
write中可以添加int类型的参数
public void write(char cbuf[]) throws IOException {
        write(cbuf, 0, cbuf.length);
    }
write()中可以添加char类型的参数

abstract public void write(char cbuf[], int off, int len) throws IOException;
由write的子类实现,如Bufferedwriter 可以对字符数组截取输出
public void write(String str) throws IOException {
        write(str, 0, str.length());
    }
write中可以添加String类型的参数

针对字符串的截取输出源码如下:
public void write(String str, int off, int len) throws IOException {
        synchronized (lock) {
            char cbuf[];
            if (len <= WRITE_BUFFER_SIZE) {
                if (writeBuffer == null) {
                    writeBuffer = new char[WRITE_BUFFER_SIZE];
                }
                cbuf = writeBuffer;
            } else {    // Don't permanently allocate very large buffers.
                cbuf = new char[len];
            }
            str.getChars(off, (off + len), cbuf, 0);
            write(cbuf, 0, len);
        }
    }
从str的off开始截取,取长度为len,将字符串变为char[]类型进行输出调用到了自身的

Writer抽象类中write()方法里面可以添加哪些参数的总结:

  1. 可以添加int类型,有锁
  2. 可以添加char[]类型和char类型
  3. 可以添加Sting类型,同时也能实现对字符串的截取输出,有锁

2. FileOutputStream类中的write()方法里面可以添加哪些参数

public void write(int b) throws IOException {
        write(b, append);
    }
write()中的参数可以添加int类型
public void write(byte b[]) throws IOException {
        writeBytes(b, 0, b.length, append);
    }
write()中的参数可以添加byte[]类型

public void write(byte b[], int off, int len) throws IOException {
        writeBytes(b, off, len, append);
    }
write()中的参数可以对byte[]数组进行截取输出

FileOutputStream类中的write()方法里面可以添加哪些参数总结:

  1. 可以添加int类型
  2. 可以添加byte[]类型和byte类型并且可以对byte数组进行截取输出
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值