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

Determining binary/text file type in Java?(在Java中确定二进制/文本文件类型?)
本文介绍了在Java中确定二进制/文本文件类型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

也就是说,你将如何从文本(xml/txt,编码无关)文件中区分存档(jar/rar/etc.)文件?

Namely, how would you tell an archive (jar/rar/etc.) file from a textual (xml/txt, encoding-independent) one?

推荐答案

没有万全之策,但有几种可能:

There's no guaranteed way, but here are a couple of possibilities:

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

  1. Look for a header on the file. Unfortunately, headers are file-specific, so while you might be able to find out that it's a RAR file, you won't get the more generic answer of whether it's text or binary.

计算字符与非字符类型的数量.文本文件大多是字母字符,而二进制文件——尤其是压缩文件,如 rar、zip 等——往往会更均匀地表示字节.

Count the number of character vs. non-character types. Text files will be mostly alphabetical characters while binary files - especially compressed ones like rar, zip, and such - will tend to have bytes more evenly represented.

寻找有规律地重复的换行符.

Look for a regularly repeating pattern of newlines.

这篇关于在Java中确定二进制/文本文件类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)
How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)
Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)
Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)
How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)
How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)