hutool.core.io.streams¶
IO工具模块
Module Contents¶
Classes¶
IO工具类 |
API¶
- class hutool.core.io.streams.IoUtil¶
IO工具类
- static read(stream: IO, charset: str = 'utf-8') str¶
从流中读取字符串
- 参数:
stream – 输入流(需支持 read 方法)
charset – 字符编码,默认 utf-8
- 返回:
读取到的字符串内容
- static read_bytes(stream: IO) bytes¶
从流中读取字节数组
- 参数:
stream – 输入流(需支持 read 方法)
- 返回:
读取到的字节数组
- static read_lines(stream: IO, charset: str = 'utf-8') List[str]¶
从流中读取行列表
- 参数:
stream – 输入流(需支持 read 或 readlines 方法)
charset – 字符编码,默认 utf-8
- 返回:
行列表
- static write(stream: IO, data: Union[str, bytes], charset: str = 'utf-8') int¶
写入数据到流
- 参数:
stream – 输出流(需支持 write 方法)
data – 要写入的数据(str 或 bytes)
charset – 当 data 为 str 时使用的编码,默认 utf-8
- 返回:
写入的字节数
- static write_bytes(stream: IO, data: bytes) int¶
写入字节数组到流
- 参数:
stream – 输出流(需支持 write 方法)
data – 要写入的字节数组
- 返回:
写入的字节数
- static copy(input_stream: IO, output_stream: IO, buffer_size: int = 8192) int¶
拷贝流数据
- 参数:
input_stream – 输入流
output_stream – 输出流
buffer_size – 缓冲区大小,默认 8192 字节
- 返回:
拷贝的总字节数
- static close(closable: Optional[IO]) None¶
安全关闭可关闭对象
如果对象为 None 或已关闭,则不做任何操作。
- 参数:
closable – 可关闭对象(如文件流),可以为 None
- static to_bytes(obj: Union[str, bytes, bytearray, memoryview]) bytes¶
将对象转为 bytes
支持 str / bytes / bytearray / memoryview 类型。
- 参数:
obj – 待转换的对象
- 返回:
字节数组
- 抛出:
TypeError – 不支持的对象类型
- static checksum(stream: IO, algorithm: str = 'md5') str¶
计算流内容的校验和(十六进制字符串)
- 参数:
stream – 输入流(需支持 read 方法)
algorithm – 哈希算法名称,默认 md5;支持 sha1、sha256 等
- 返回:
校验和的十六进制字符串
- static checksum_crc32(stream: IO) int¶
计算流内容的 CRC32 校验和
- 参数:
stream – 输入流(需支持 read 方法)
- 返回:
CRC32 校验和(无符号 32 位整数)
- static checksum_value(stream: IO, algorithm: str = 'md5') int¶
计算流内容的校验和(整数形式)
- 参数:
stream – 输入流(需支持 read 方法)
algorithm – 哈希算法名称,默认 md5
- 返回:
校验和对应的整数值
- static content_equals(stream1: IO, stream2: IO) bool¶
比较两个流的内容是否完全相同
- 参数:
stream1 – 第一个输入流
stream2 – 第二个输入流
- 返回:
内容相同返回 True,否则返回 False
- static content_equals_ignore_eol(stream1: IO, stream2: IO) bool¶
比较两个流的内容是否相同(忽略行结束符差异)
将 rn 和 r 统一转为 n 后再进行比较。
- 参数:
stream1 – 第一个输入流
stream2 – 第二个输入流
- 返回:
忽略行结束符后内容相同返回 True,否则返回 False
- static flush(output_stream: IO) None¶
刷新输出流
如果流对象没有 flush 方法则不做任何操作。
- 参数:
output_stream – 输出流
- static line_iter(stream: IO, charset: str = 'utf-8') Iterator[str]¶
逐行迭代流内容
- 参数:
stream – 输入流(需支持 read 方法)
charset – 字符编码,默认 utf-8
- 返回:
行内容的迭代器(不含换行符)
- static read_hex(stream: IO, separator: str = '') str¶
以十六进制字符串形式读取流内容
- 参数:
stream – 输入流(需支持 read 方法)
separator – 每个字节之间的分隔符,默认为空
- 返回:
十六进制字符串
- static read_utf8(stream: IO) str¶
以 UTF-8 编码读取流内容
- 参数:
stream – 输入流(需支持 read 方法)
- 返回:
UTF-8 解码后的字符串
- static read_utf8_lines(stream: IO) List[str]¶
以 UTF-8 编码读取流的行列表
- 参数:
stream – 输入流(需支持 read 方法)
- 返回:
行列表
- static to_str(stream: IO, charset: str = 'utf-8') str¶
将流内容转为字符串
- 参数:
stream – 输入流(需支持 read 方法)
charset – 字符编码,默认 utf-8
- 返回:
解码后的字符串
- static to_stream(s: str, charset: str = 'utf-8') IO¶
将字符串转为 BytesIO 流
- 参数:
s – 待转换的字符串
charset – 编码方式,默认 utf-8
- 返回:
包含编码后数据的 BytesIO 对象
- static to_utf8_stream(s: str) IO¶
将字符串转为 UTF-8 编码的 BytesIO 流
- 参数:
s – 待转换的字符串
- 返回:
包含 UTF-8 编码数据的 BytesIO 对象
- static write_utf8(output_stream: IO, data: str) int¶
以 UTF-8 编码写入字符串到流
- 参数:
output_stream – 输出流(需支持 write 方法)
data – 要写入的字符串
- 返回:
写入的字节数