黑马程序员_IO流笔记

javaEE+android培训



I/O流笔记
    1.字节流两个基类
        InputStream    OutputStream
      字符流两个基类
        Reader    Writer
    2.字符流的使用:
        创建一个FileWriter对象,对该对象一被初始化就必须要明确被操作的文件
        而且该文件会被创建到制定目录下,如果该目录下已有同名文件,将被覆盖
        调用write方法,将字符串写入到流中
        刷新流对象中缓冲中的数据,将数据流刷到目的地中
            flush和close的区别:
                flush刷新之后,流可以继续使用,close刷新之后,流将会关闭
    3.缓冲的出现是为了提高流的操作效率而出现的,所以咋创建缓冲去之前,必须要先有流对象
        关闭缓冲去就是在关闭缓冲区中的流对象。所以在关闭完缓冲区之后,就没有必要在关闭流对象了
        缓冲区多了一个新的方法,就是newline(),跨平台。
        BufferedReader类中:
            readLine()方法,只返回一行的内容,但是不包括换行符;所以当使用BufferedReader类中的方法进行写操作时,不要忘了在写玩每行之后记得加上newLine()方法
        装饰类:
            装饰类通常会通过构造方法接受被装饰的对象,并且基于被装饰的对象的功能,提供更强的功能
            装饰类和继承相比较:
                装饰类因为已有对象,具备的功能和已有的是相同的,只不过提供了更强的功能,所以装饰类和被修饰类通常是都属于一个体系中的
    4.字节流的使用:
        基本上与字符流相同;
        不同的地方有:
            OutputStream()操作完之后直接就会到了目的地,并且不用刷新,之所以字符流需要刷新,是因为它需要一边先缓冲,一边查表,所以还需要flush()
        InputStream()需要注意的一点就是:在自定义输入字节流(即InputStream)缓冲区的时候,为了解决当数据本身也出现-1的情况(这样的话会和我们函数的判断标志冲突),所以解决办法是:在提升数据类型的同时增大其数据值(方法是:与255相与)
    5.转换流的作用:
        最重要的作用就是可以制定编码
            java中默认的编码是JBK
    6.file类中常见的方法
        创建
            booleancreatNewFile():在指定位置创建文件,如果该文件已经存在,则不会创建,返回false。【和输出流不太一样,输出流对象一建立创建文件,而且文件已经存在,会覆盖】
            boolean mkdir():创建文件夹
            boolean mkdirs():创建多级文件夹
        删除
            boolean delete():删除失败会返回false
            void deleteOnExit():在程序退出时删除制定文件
        判断:
            boolean exists():判断文件是否存在
            isFile()
            isDirector()
            isHidden():
            isAbsolute():
        获取:
            getName()
            getPath()
            getParent():该方法返回的是绝对路径中的父目录,如果获取的是相对路径,返回null
            getAbsolutePath()
            lastModified()
            length()
    7.递归
        定义:也就是函数自身调用自身
        注意:
            限定条件
            注意递归的次数。尽量避免内存溢出
    8.PrintWriter
        构造函数可以接收的参数类型
            file对象:File
            字符串路径:String
            字节输出流:OutputStream
            字符输出流:Writer


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值