验证文件/获取Java / Groovy中的真实文件类型?

我需要确定文件是否属于给定的一组真实类型,我想知道最好的方法是什么.

基本上,我真的只需要检查PDF,图像和一些微软word文件类型.我听说过使用imagemagick和捕获异常来进行图像测试,但其他的呢?

有任何想法吗?

解决方法:

有一些方法可以获取MIME类型on this page here

前几个例子根据文件扩展名猜测MIME类型,正如它所说,更健壮的方法是使用Apache Tika framework,它支持many file types.

以下是使用Tika(在Groovy中)的示例:

// Grab tika and all its dependencies...
// takes a while on first run, as it pulls in LOADS of dependencies
@Grab( 'org.apache.tika:tika-core:0.9' )
@Grab( 'org.apache.tika:tika-parsers:0.9' )
import org.apache.tika.Tika

println( new Tika().detect( new File( 'tim.tiff' ) ) )
println( new Tika().detect( new File( 'tim.renamedtiff' ) ) )

那输出:

15:15:56 [tim_yates@mac] TikaTest $groovy test.groovy 
image/tiff
image/tiff
上一篇:如何编写可以接受groovy闭包的java类方法


下一篇:java – 如何安装Groovy?