| Package | Description | 
|---|---|
| org.dromara.hutool.core.io | IO相关封装和工具类,包括Inputstream和OutputStream实现类,工具包括流工具IoUtil、文件工具FileUtil和Buffer工具BufferUtil | 
| org.dromara.hutool.core.io.file | 对文件读写的封装,包括文件拷贝、文件读取、文件写出、行处理等 | 
| org.dromara.hutool.core.io.stream | InputStream和OutputStream相关方法和类封装 | 
| Class and Description | 
|---|
| FastByteArrayOutputStream 基于快速缓冲FastByteBuffer的OutputStream,随着数据的增长自动扩充缓冲区
 
 可以通过 FastByteArrayOutputStream.toByteArray()和FastByteArrayOutputStream.toString()来获取数据FastByteArrayOutputStream.close()方法无任何效果,当流被关闭后不会抛出IOException
 
 这种设计避免重新分配内存块而是分配新增的缓冲区,缓冲区不会被GC,数据也不会被拷贝到其他缓冲区。 | 
| Class and Description | 
|---|
| BOMInputStream 读取带BOM头的流内容, getCharset()方法调用后会得到BOM头的编码,且会去除BOM头BOM定义:http://www.unicode.org/unicode/faq/utf_bom.html 00 00 FE FF = UTF-32, big-endian FF FE 00 00 = UTF-32, little-endian EF BB BF = UTF-8 FE FF = UTF-16, big-endian FF FE = UTF-16, little-endian 使用: 
 String enc = "UTF-8"; // or NULL to use systemdefault参考: http://www.unicode.org/unicode/faq/utf_bom.html | 
| Class and Description | 
|---|
| EmptyInputStream 空的流 | 
| EmptyOutputStream 此OutputStream写出数据到/dev/null,即忽略所有数据 来自 Apache Commons io | 
| FastByteArrayOutputStream 基于快速缓冲FastByteBuffer的OutputStream,随着数据的增长自动扩充缓冲区
 
 可以通过 FastByteArrayOutputStream.toByteArray()和FastByteArrayOutputStream.toString()来获取数据FastByteArrayOutputStream.close()方法无任何效果,当流被关闭后不会抛出IOException
 
 这种设计避免重新分配内存块而是分配新增的缓冲区,缓冲区不会被GC,数据也不会被拷贝到其他缓冲区。 | 
| StreamReader InputStream读取器 | 
| StreamWriter OutputStream写出器 | 
| StrInputStream 基于字符串的InputStream | 
| SyncInputStream 同步流,可将包装的流同步为ByteArrayInputStream,以便持有内容并关闭原流 | 
Copyright © 2025. All rights reserved.