Day 20 IOl流

高级流的构建必须借助于低级流
处理异常时,应该使用try/catch,并在finally代码块中将流关闭close()

IO流

方向:

输入流,输出流

对于JAVA:输入流 –> JVM Java代码 –> 输出流
输入输出都在JVM的角度来判断的

目的地

低级流

  1. FileInputStream
  2. ByteArrayInputStream
  3. System.in

高级流

  1. BufferedInputStream 缓冲流
  2. ObjectInputStream 序列化

字节流和字符流:

区别
单位 类型 字节数 用途
字节流 byte 1 常用来处理图片,音频,视频等,不会用到缓冲区
字符流 char 2 效率高,对文本支持较好,使用缓冲区来操作文件
字节流
字节输入流: InputStream
字节输出流:OutputStream
字符流
  • 字符输入流:Reader
  • 字符输出流:Writer
    public static void readFromFile(String file) {
        //1.声明
        FileInputStream fis=null;
        //2.初始化赋值
        try {
            fis = new FileInputStream(file);
            byte[] b= new byte[1024];
            fis.read(b);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            if(fis!=null) {
            try {
                fis.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            }
        }


    }
底层流

猜你喜欢

转载自blog.csdn.net/piwan9549/article/details/81738917