注意这里只能资源对象。 (流对象)
什么是资源呢
资源都会实现AouCloseable接口
我们用的InputStream接口继承Closeable继承AutoCloseable
资源都会有一个close方法 。并且资源放到try()小括号里面
用完了 ,会被自动调用其close方法完成 资源的释放操作
package CopysIO;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class CopyTest2 {
// 目标:使用字节流完成文件复制操作
public static void main(String[] args) throws Exception {
try( //需求: 复制图片
//1:创建一个字节输出流(读取流)管道与原文件接通
InputStream is= new FileInputStream("src/mamat03.txt");
//2:创建一个字节输入流(写入流)管道与源文件接通
OutputStream ot= new FileOutputStream("src/mamat03Copy.txt");
//注意这里只能资源对象。 (流对象)
){
//3:创建字节数组 负责转移字节数据
byte[] buffer =new byte[1024]; // 1KB;
//4:从字节输入流中读取字节数据 写出去到字节输出流中 读取多少写入出去多少
int len;
while((len=is.read(buffer))!=-1){
ot.write(buffer, 0, len);
}
System.out.println("复制完成");
}catch (Exception e){
e.printStackTrace();
}
}
}