上面的文件拷贝只适用于文件大小比较小的时候,因为每循环一次只会读写一个字节
那么有什么方法可以一次读多个字节呢?
第一次读取时,由于字节数组长度为2,所以读到两个字符,第二次读取,还是读到两个字符,第三次读取时,读到一个字符,字符数组会覆盖第二次读取到的cd中的c,因此打印数组会打印出ed,第四次读取,由于没有字符了,会读到-1,打印数组还是ed
那我们如何避免出现这种问题呢?
之前的代码中我们都选择使用抛出异常,那么如果我们要使用try……catch……finally来处理应该怎
么做呢?
我们发现这样释放资源的代码会冗余,那么我们怎么样才能解决呢?(实现AutoCloseable接口)
JDK7的做法:
JDK9的做法: