zoukankan      html  css  js  c++  java
  • Jakartase_IO流_ — Commons IO_(IO流终极篇)

    一、前言
    Apache Commons IO是Apache基金会创建并维护的Java函数库。
    它提供了许多类使得开发者的常见任务变得简单,同时减少重复代码
    二、Commons IO 类库

    2.1 FileUtils 文件操作工具类

    提供方法

    • 复制文件夹
    • 复制文件
    • 下载文件
    • 把字符串写入文件
    • 把字节数组写入文件
    • 把集合里面的内容写入文件
    • 往文件里面写内容
    • 文件移动
    • 清空和删除文件夹
    • 创建文件夹
    • 文件获取输入/输出流
    • 读取文件
    • 测试两个文件的修改时间那个比较新/老
    • 其他

    2.2 IOUtils 流操作工具类(功能、方法、demo)

    • 2.2.1 功能:提供用于读取,写入和复制文件的实用方法。 这些方法适用于InputStream,OutputStream,Reader和Writer。

    • 2.2.2 方法
      ...为输入/输出操作提供静态实用程序方法。

    • toXXX() - 从流中读取数据。

    • write() - 将数据写入流。

    • copy() - 将所有数据复制到另一个流的流。

    • contentEquals - 比较两个流的内容。

    • 2.2.3 demo

         //方式1:使用缓冲读取器逐行读取文件
         public static void readUsingTraditionalWay() throws IOException {
         try(BufferedReader bufferReader = 
                 new BufferedReader( new InputStreamReader(  
                     new FileInputStream("data.txt") ) )) {
            String line;
            while(( line = bufferReader.readLine()) != null )
                System.out.println( line );
         }
         //方式2:使用IOUtils一次读取文件
         public static void readUsingIOUtils() throws IOException {
             try(InputStream is = new FileInputStream("data.txt")) {
                System.out.println(IOUtils.toString(is, "UTF-8") );
             }
         }
    

    三、IO流总结
    1、按流的划分

    • 输入流:数据源到程序(InputStream、Reader读进来)
    • 输出流:程序到目的地(OutPutStream、Writer写出去)

    2、按流的处理的数据单元分类

    • 字节流:按照字节读取数据(InputStream、OutputStream)。
    • 字符流:按照字符读取数据(Reader、Writer)。

    3、 按流的功能分类:

    • 节点流:可以直接从数据源或目的地读写数据。
    • 处理流:不直接连接到数据源或目的地,是处理流的流。通过对其他流的处理提高程序的性能

    4、 IO的四个基本抽象类:

    • InputStream、OutputStream、Reader、Writer

    5、InputStream的实现类:

    • FileInputStream
    • ByteArrayInutStream
    • BufferedInputStream
    • DataInputStream
    • ObjectInputStream
      ** 6、 OutputStream的实现类:**
    • FileOutputStream
    • ByteArrayOutputStream
    • BufferedOutputStream
    • DataOutputStream
    • ObjectOutputStream
    • PrintStream

    7、 Reader的实现类

    • FileReader
    • BufferedReader
    • InputStreamReader

    8、 Writer的实现类

    • FileWriter
    • BufferedWriter
    • OutputStreamWriter

    9、 序列化

    • 把Java对象转换为字节序列的过程。

    10、反序列化

    • 字节序列恢复为Java对象的过程。
    为了目标奋斗
  • 相关阅读:
    了解 DICOM 基本协议与其相关
    C# PropertyInfo 反射实体部分字段
    ref(引用参数) 和 out(输出参数) 区别
    Linq Where Expression<Func<T,bool>> 查询条件
    随笔规范
    C# 集合分析
    C# 几种常用的数据类型
    关于 C# 方法参数的理解
    打算开始写博客了
    有趣的算法、逻辑面试题
  • 原文地址:https://www.cnblogs.com/Rosemajor/p/13369771.html
Copyright © 2011-2022 走看看