• Java中的流操作


    1. 字符流
    1.1字符输入流 - Reader - FileReader
    涉及到连接的,用完了就要关闭。
     
    **为什么read方法  返回的值是 int,而不是char?因为读到结尾的时候,char不好使,结尾 int 就为 -1。
     
    案例:编写一个字符输入流,来读取外部文件中的数据
    根据数据流动的方向 - 输入流
    根据操作的数据类型 - 字符流
    字符输入流 - Reader(FileReader  前面是来的源,后面是操作)
     
    1.2 字符输出流 - Writer - FileWriter
     
    案例:编写一个流  来将指定的字符写出到外部文件中
     
    1.3 关流的过程
            IO流用过之后必须保证关闭,但是 IO 流的代码中往往存在大量的异常,为了保证关流的操作一定会被执行,所以通过关流都在 finally 代码块中进行。而为了保证 finally 中可以看到流对象,通常
     
    案例:编写一个程序,实现文件的拷贝
    所谓的文件拷贝,实际上就是
     
    1.4 使用缓冲区来提升程序的性能
     
    1.5 使用缓冲流提升程序的性能
            功能:
                   自带缓冲区  提升程序性能
                   提供一些新方法,方便操作
            BufferedReader
     
            BufferedWriter
     
    1.6 增强类的方式
    a. 继承
        可以通过继承父类,在子类中增强能力,缺点是对父类对象无效。
    b.装饰设计模式
        可以对已有对象生效
    c.动态代理
     
    1.7 装饰设计模式
        java中共有 23 种设计模式。装饰模式是其中的一种。所谓的设计模式,其实就是前人总结的写代码的套路。(动态代理,适配器)
        主要的功能:就是在原有的被装饰者的基础上增加其他能力。
        实现方式:
     
    案例:为 Person 类通过装饰设计模式 使其能够飞
     
    缓冲流 - BufferedReader 和 BufferedWriter 就是使用了装饰设计模式实现的。
    实验:翻阅BufferedReader  BufferedWriter 的源代码。
     
    1.8 字符流 - 其他字符流
        StringReader
            数据来源是字符串的字符流
    案例:利用StringWriter以一段
     
    字节流 - 字节输入流
        InputStream
     
    字节流 - 字节输出流
        OutputStream
     
    案例:通过字节流,直接实现文件的复制
     
    2. 转换流
        字符流的底层也是字节流,只不过在字节流的基础上增加了缓冲区和编解码器。
        字符流内置的但是 java 提供的字符流  缓冲区和编解码器是无法调整的,这在使用
     
    案例:拷贝一个 utf-8 编码集  包含中文的文本文件  要求产生的文件也是 utf-8/gbk。
     
    3. 系统流
    在java中有一个重要的类,叫做System,代表当前系统,
     
    通过系统流向控制台写数据
     
    系统输出流
     
    修改标准系统输出流输出位置
     
    系统输入流
     
    修改标准系统输入流输入位置
     
    打印流  系列化流
  • 相关阅读:
    R语言基础入门
    调用arcpy包批量进行矢量掩膜提取
    一些js面试高频知识点的总结
    js实现五子棋人机对战源码
    编程题汇总,持续更新
    颜色字符串转换
    根据包名,在指定空间中创建对象
    JavaScript中[]+[] 、[]+{}、{}+[]、{}+{}的结果分析
    CSS命名规范
    谈谈浏览器的兼容性
  • 原文地址:https://www.cnblogs.com/tangdiao/p/9531909.html
Copyright © 2020-2023  润新知