释放资源 try-catch

 

注意这里只能资源对象。 (流对象)

什么是资源呢

资源都会实现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();
        } 

    }
}

释放资源 try-catch_第1张图片

你可能感兴趣的:(java,python,前端)