Hutool Hutool
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
  • 快速入门

  • 核心(hutool-core)

    • AI(Hutool-ai)

    • 注解(annotation)

    • 数组(array)

    • JavaBean(bean)

    • 缓存(cache)

    • 类加载器(classloader)

    • 编码解码(codec)

    • 集合(collection)

    • 比较器(comparator)

    • 压缩(compress)

    • 类型转换(convert)

    • 数据(data)

    • 日期时间(date)

    • 异常(exception)

    • 函数(func)

    • IO流(io)

      • 简介
        • 📚简介
          • JDK IO 操作的问题
          • Hutool IO 模块的优势
          • 核心功能
          • 主要类结构
          • 🔧 主要特性
      • IO流工具-IoUtil
    • 语言特性(lang)

    • Map(map)

    • 数字数学(math)

    • 网络(net)

    • 对象池(pool)

    • 反射(reflect)

    • 正则(regex)

    • 服务提供(spi)

    • 聚合操作(stream)

    • 字符串文本(text)

    • 并发和线程(thread)

    • 树结构(tree)

    • 工具集合(util)

    • XML操作(xml)

  • 定时任务(hutool-cron)

  • 加密(hutool-crypto)

  • 数据库(hutool-db)

  • 扩展(hutool-extra)

  • HTTP(hutool-http)

  • 日志(hutool-log)

  • 配置文件(hutool-setting)

  • JSON(hutool-json)

  • Office办公(hutool-poi)

  • 套接字(hutool-socket)

  • GUI(hutool-swing)

  • 指南
  • 核心(hutool-core)
  • IO流(io)
Hutool
2026-01-03
目录

简介

# 📚简介

IO流模块(cn.hutool.v7.core.io)是 Hutool 提供的 IO 操作工具集合,封装了 JDK 中复杂的 IO 操作,提供了简洁易用的 API,旨在简化各种 IO 场景下的开发工作。

# JDK IO 操作的问题

JDK 原生的 IO 操作存在以下痛点:

  1. 代码冗长:需要编写大量的 try-catch-finally 代码来处理流的关闭
  2. 异常处理复杂:IOException 是检查异常,必须显式处理
  3. API 设计复杂:JDK IO API 设计较为复杂,学习成本高
  4. 性能优化困难:需要手动处理缓冲区、流的包装等性能优化
  5. 功能分散:文件操作、流操作、资源操作等功能分散在不同的类中
  6. 缺乏便捷的工具方法:缺少常用的 IO 操作便捷方法,如文件复制、读取等

# Hutool IO 模块的优势

Hutool 的 IO 模块通过封装常用的 IO 操作,解决了 JDK 原生 IO 操作的痛点:

  1. 简化的 API:提供简洁易用的 API,大幅减少代码量
  2. 自动关闭流:自动处理流的关闭,无需手动编写 try-catch-finally
  3. 运行时异常:将检查异常转换为运行时异常,简化异常处理
  4. 高性能:内置缓冲区优化,提供高效的 IO 操作
  5. 功能全面:涵盖文件操作、流操作、资源操作、序列化等各种 IO 场景
  6. 便捷的工具方法:提供丰富的便捷方法,如文件复制、读取、写入等

# 核心功能

  1. 流操作:提供流的读写、复制、转换等功能
  2. 文件操作:提供文件的创建、复制、移动、删除、遍历等功能
  3. 资源操作:提供资源的加载、读取、查找等功能
  4. 序列化:提供对象的序列化和反序列化功能
  5. NIO 支持:提供 NIO 相关的工具方法
  6. 文件监控:提供文件系统的监控功能
  7. 校验和计算:提供 CRC16、CRC8 等校验和计算功能
  8. 数据大小单位:提供数据大小单位的转换和格式化功能

# 主要类结构

  • 核心工具类:

    • IoUtil:IO 流操作核心工具类,提供流的读写、复制、转换等功能
    • FileUtil:文件操作核心工具类,提供文件的创建、复制、移动、删除等功能
    • ResourceUtil:资源操作核心工具类,提供资源的加载、读取、查找等功能
    • SerializeUtil:序列化工具类,提供对象的序列化和反序列化功能
    • NioUtil:NIO 相关工具类,提供 NIO 操作的便捷方法
    • ChecksumUtil:校验和工具类,提供 CRC16、CRC8 等校验和计算功能
    • DataSizeUtil:数据大小单位工具类,提供数据大小的转换和格式化功能
  • 子模块:

    • buffer:缓冲区相关工具类,提供高效的缓冲区实现
    • checksum:校验和相关工具类
    • copy:复制相关工具类,提供不同类型流的复制实现
    • file:文件相关工具类和实现
    • resource:资源相关工具类和实现
    • stream:流相关工具类和实现
    • unit:数据大小单位相关工具类
    • watch:文件监控相关工具类

# 🔧 主要特性

  1. 自动关闭流:所有流操作都会自动关闭流,无需手动处理
  2. 运行时异常:将 IOException 转换为 IORuntimeException,简化异常处理
  3. 高性能:内置缓冲区优化,提供高效的 IO 操作
  4. 支持多种数据源:支持文件、流、字符串、URL 等多种数据源
  5. 丰富的工具方法:提供了大量常用的 IO 操作便捷方法
  6. 线程安全:核心工具类的方法都是线程安全的
  7. 良好的扩展性:设计了良好的接口和抽象类,方便扩展

通过 Hutool 的 IO 模块,可以大幅简化开发中的 IO 操作代码,提高代码的可读性和可维护性,同时获得更好的性能。

断言工具-PredicateUtil
IO流工具-IoUtil

← 断言工具-PredicateUtil IO流工具-IoUtil→

Theme by Vdoing | Copyright © 2025-2026 Hutool | Apache-2.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式