美文网首页
递归、 IO流

递归、 IO流

作者: muyang_js的简书 | 来源:发表于2018-11-15 16:28 被阅读16次

    递归

    • 递归解决问题的思想
      做递归要写一个方法
      找到出口条件
      找到规律
       /**
         * 做递归要写一个方法
         *  返回值类型: int
         *  参数列表: int n
         *  出口条件:
         *  if(n== 1){return 1;}
         *
         *  规律:
         *  if (n != 1){return n * 方法名(n-1):}
         *
         * */
    
        public static int jieCheng(int n) {
            if (n == 1){
                return 1;
            }else  {
                return n * jieCheng(n - 1);
            }
        }
    

    IO流概述

    • IO流用来处理设备之间的数据传输
    • 上传文件和下载文件
    • Java对数据的操作是通过流的方式
    • Java用于操作流的对象都在IO包中

    IO流分类

    按照数据流向

    输入流 读取数据
    输出流 写出数据

    按照数据类型

    字节流
    字节输入流 读取数据 InputStream
    字节输出流 写出数据 OutputStream

    字符流

    字符输入流 读取数据 Reader
    字符输出流 写出数据 Writer

    字节流写数据

     FileOutputStream的构造方法
     FileOutputStream(File file)
     FileOutputStream(String name)
    

    字节流读取数据

     FileInputStream的构造方法
     FileInputStream(File file)
     FileInputStream(String name)
     FileInputStream的成员方法
     public int read():一次读取一个字节
     public int read(byte[] b):一次读取一个字节数组
    

    我们先来看下字节输入流操作步骤:

    A:创建字节输入流对象
    B:调用read()方法读取数据,并把数据显示在控制台
    C:释放资源

    字节流复制数据

    数据源:从哪里来
    a.txt – 读取数据 – FileInputStream
    目的地:到哪里去
    b.txt – 写数据 – FileOutputStream

    字节缓冲流

    字节流一次读写一个数组的速度明显比一次读写一个字节的速度快很多,这是加入了数组这样的缓冲区效果,java本身在设计的时候,也考虑到了这样的设计思想(装饰设计模式),所以提供了字节缓冲区流
    这种类被称为:缓冲区类(高效类)

    字节缓冲输出流

    BufferedOutputStream

    字节缓冲输入流

    BufferedInputStream

    相关文章

      网友评论

          本文标题:递归、 IO流

          本文链接:https://www.haomeiwen.com/subject/ibiyfqtx.html