Java I/O

Java I/O


说明流的三种分类方式

  1. 流向:输入流、输出流
  2. 数据单位:字节流、字符流
  3. 流的角色:节点流、处理流

IO流中的抽象基类、文件流、缓冲流

  1. 抽象基类:InputStream、OutputStream、Reader、Writer
  2. 文件流:FileInputStream、FileOutputStream、FileReader、FileWriter
  3. 缓冲流:BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter

转换流的两个类

InputStreamReader:字节->字符 (输入)解码

OutputSreamWriter:字符->字节(输出)编码


用缓存流复制照片


FileInputStream fileInputStream = null;
        FileOutputStream fileOutputStream = null;
        BufferedInputStream bufferedInputStream=null;
        BufferedOutputStream bufferedOutputStream=null;
        try {
            File file = new File("白底.jpg");
            File file1 = new File("白底1.jpg");

            fileInputStream = new FileInputStream(file);
            fileOutputStream = new FileOutputStream(file1);
             bufferedInputStream = new BufferedInputStream(fileInputStream);
             bufferedOutputStream = new BufferedOutputStream(fileOutputStream);

            byte[] chars = new byte[1024];
            int len;
            while ((len = bufferedInputStream.read(chars)) != -1) {
                bufferedOutputStream.write(chars, 0, len);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (bufferedInputStream != null) {
                try {
                    bufferedInputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (bufferedOutputStream != null) {
                try {
                    bufferedOutputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
posted @ 2022-02-19 17:11  跟着狂神学java  阅读(24)  评论(0)    收藏  举报