我正在使用Apache Tika来检测给定文件是二进制还是文本。
我喜欢以下扩展程序(" .txt"," .csv"," .log"," .bat&# 34;," .m"," .properties"," .inf"," .ini"," .java&# 34;," .c"," .cpp"," .h"," .vpp")被检测为文本文件。
我只是使用Tika.detect(file)方法来执行此操作。但是我注意到上面的一些扩展名如.inf(显然是基于文本的)和.vpp被错误地检测为' application'。
使用javax.activation.MimetypesFileTypeMap.MimetypesFileTypeMap(),。vpp文件被检测为application / octect-stream(二进制)。 使用,SVNAccessControl svn:mimetype,我们得到类型为文本。
有没有办法在使用这些第三方库中的任何一个Java程序中正确检测这些文件?