在 Java 中确定二进制/文本文件类型?

新手上路,请多包涵

即,您如何区分归档文件(jar/rar/等)与文本文件(xml/txt,编码无关)文件?

原文由 yanchenko 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 608
2 个回答

没有保证的方法,但这里有几种可能性:

  1. 在文件中查找标题。不幸的是,标头是特定于文件的,因此虽然您可能会发现它是一个 RAR 文件,但您不会得到关于它是文本文件还是二进制文件的更通用的答案。

  2. 计算字符与非字符类型的数量。文本文件将主要是字母字符,而二进制文件——尤其是压缩文件,如 rar、zip 等——将倾向于更均匀地表示字节。

  3. 寻找定期重复的换行符模式。

原文由 Aric TenEyck 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题