Package org.aoju.bus.core.io.stream
package org.aoju.bus.core.io.stream
InputStream和OutputStream相关方法和类封装
- Since:
- Java 17+
- Author:
- Kimi Liu
-
ClassesClassDescription读取带BOM头的流内容,
getCharset()方法调用后会得到BOM头的编码,且会去除BOM头 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 FileInputStream fis = new FileInputStream(file); BOMInputStream uin = new BOMInputStream(fis, enc); enc = uin.getCharset(); // check and skip possible BOM bytes读取带BOM头的流内容的Reader,如果非bom的流或无法识别的编码,则默认UTF-8 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 使用:FileInputStream fis = new FileInputStream(file); BOMReader uin = new BOMReader(fis);空的流此OutputStream写出数据到/dev/null,既忽略所有数据 来自 Apache Commons io基于快速缓冲FastByteBuffer的OutputStream,随着数据的增长自动扩充缓冲区带有类验证的对象流,用于避免反序列化漏洞InputStream读取器OutputStream写出器基于字符串的InputStream同步流,可将包装的流同步为ByteArrayInputStream,以便持有内容并关闭原流