如何在Windows环境下使用Java语言判断文本文件或二进制文件?

如何在Windows环境下使用Java语言判断文本文件或二进制文件?,java,file,text,binary,Java,File,Text,Binary,我正在计算文本文件的总数,文件夹中有很多文件,包括文本文件和其他二进制文件 如何使用Java语言判断文件是文本文件还是二进制文件?如果您说的是纯文本,文本文件中有哪些字符? 9(制表符)、10(换行)、13(回车)、32到126(可读字符) 在这个集合中,文本文件的字符比率应该接近100% 另一方面,二进制文件使用整个字符集,因此应该具有较低的比率。此外,二进制文件通常包含很多0值 这不是一种100%确定文件类型的方法,但我认为它应该足够了。您可以查看扩展名。或者你可以使用一种启发式方法——假设

我正在计算文本文件的总数,文件夹中有很多文件,包括文本文件和其他二进制文件


如何使用Java语言判断文件是文本文件还是二进制文件?

如果您说的是纯文本,文本文件中有哪些字符? 9(制表符)、10(换行)、13(回车)、32到126(可读字符)

在这个集合中,文本文件的字符比率应该接近100%

另一方面,二进制文件使用整个字符集,因此应该具有较低的比率。此外,二进制文件通常包含很多0值


这不是一种100%确定文件类型的方法,但我认为它应该足够了。

您可以查看扩展名。或者你可以使用一种启发式方法——假设UTF8或其他什么,读取文件,看看是否有任何字节不适合这个模型。