Class BOMInputStream

java.lang.Object
java.io.InputStream
org.miaixz.bus.core.io.stream.BOMInputStream
All Implemented Interfaces:
Closeable, AutoCloseable

public class BOMInputStream extends InputStream
读取带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 FileInputStream fis = new FileInputStream(file); BOMInputStream uin = new BOMInputStream(fis, enc); enc = uin.getCharset(); // check and skip possible BOM bytes

参考: http://www.unicode.org/unicode/faq/utf_bom.html

Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • BOMInputStream

      public BOMInputStream(InputStream in)
      构造
      Parameters:
      in - 流
    • BOMInputStream

      public BOMInputStream(InputStream in, String defaultCharset)
      构造
      Parameters:
      in - 流
      defaultCharset - 默认编码
  • Method Details