• 一、javaSE (二十)递归、IO流、自学字符流


    1:递归(理解)

             (1)方法定义中调用方法本身的现象

                       举例;老和尚給小和尚讲故事,我们学编程

             (2)递归的注意事项;

                       A:要有出口,否则就是死递归

                       B:次数不能过多,否则内存溢出

                       C:构造方法不能递归使用

             (3)递归的案例

                       A:递归求阶乘

                       B:兔子问题

                       C:递归输出指定目录下所有指定后缀名的文件绝对路径

                       D:递归删除带内容的目录(小心使用)

    2:IO流(掌握)

             (1);O用于在设备间进行数据传输的操作

             (2)分类

                       A:流向

                                输入流     读取数据

                                输出流     写出数据

                       B:数据类型

                                字节流

                                         字节输入流

                                         字节输出流

                                字符流

                                         字符输入流

                                         字符输出流

                       注意:

                                a:如果我们没有明确说明按照什么分,默认按照数据类型分

                                b:除非文件用 windows自带的记事本打开我们能够读懂,才采用字符流,否则建议使用字节流

             (3)Fi1eOutputOtream写出数据

                       A:操作步骤

                                a:创建字节输出流对象

                                b:週用 write()方法

                       B:代码体现

                                FileOutputStream fos = new FileOutputStream("fos.txt ");

                                fos.write("he11O".getbytes());

                                fos.close();;

                       C:要注意的问题

                                a:创建字节输出流对象做了几件事情?

                                b:为什么要c1ose()?

                                c:如何实现数据的换行?

                                d:如何实现数据的追加写入?

             (4)Fi1eInputStream读取数据

                       A:操作步骤

                                a:创建字节输入流对象

                                b:调用read()方法

                                c:释放资源

                       B:代码体现

                                Fi1eInputStream fis= new Fi1eInputStream("fos. txt ");

                                //方式1

                                int by = 0;

                                while((by=fis.read())!=-1){

                                         System.out.print((char)by);

                                }

                                //方式2

                                Byte[] bys = new byte[1024];

                                int len =0;

                                while( (len=fis.read (bys))!=-1){

                                         Systen.out.print(new String(bys,0,len));

                                }

             (5)案例:2种实现

                       A:复制文本文件

                       B:复制图片

                       c:复制视频

             (6)字节缓冲区流

                       A: BufferedOutputStream

                       B: BufferedInputStream

             (7)案例:4种实现

                       A:复制文本文件

                       B:复制图片

                       C:复制视频

    3:自学字符流

             IO流分类

                       字节流

                       InputStream

                                FileInputStream

                                BufferedInputStream

                       OutputStream

                                FileOutputStream

                                BufferedOutputStream

             字符流

                       Reader

                                FileReader

                                BufferedReader

                       Writer

                                FileWriter

                                BufferedWriter

  • 相关阅读:
    时间戳
    MD5加密、字节与字符串转换、对ToString("X2 ")的理解
    JWT(JSON Web Token)简介
    Entity Framework 通过主键查询提高效率
    C# switch语句与枚举类型
    对象映射库【AutoMapper】所支持场景
    关于EF框架EntityState的几种状态
    EF底层操作注意点、批量操作、更新
    linq:求分组后的每组最大值、最小值、平均值等、Aggregate聚合函数
    Flask——Request(2)
  • 原文地址:https://www.cnblogs.com/zhangchengbing/p/8280377.html
Copyright © 2020-2023  润新知