类 EncodingDetectUtil

java.lang.Object
com.agentsflex.core.file2text.util.EncodingDetectUtil

public class EncodingDetectUtil extends Object
工业级编码检测工具类(支持流式读取大文件,自动识别编码并返回 Reader)

特性:

  • 支持 PushbackInputStream,避免依赖 mark/reset
  • 支持 UTF-8, UTF-16LE/BE, UTF-32LE/BE BOM 检测
  • ICU4J 异常降级处理,默认回退 UTF-8
  • 支持自定义置信度阈值
  • 编码名称标准化
  • 返回的 Reader 关闭时会级联关闭底层 InputStream

使用示例:


 try (Reader reader = EncodingDetectUtil.getAutoDetectReader(inputStream)) {
     BufferedReader br = new BufferedReader(reader);
     String line;
     while ((line = br.readLine()) != null) {
         System.out.println(line);
     }
 }
 

调用方必须关闭返回的 Reader,以释放底层 InputStream。