文档检测是识别文档类型的过程。文档类型不同, 文本/纯文本表示文本文件, 图像/ jpeg表示图像类型文件。
Tika检测到文档类型, 以便它可以调用适当的解析器以提取内容和元数据。
Tika支持MIME(多用途Internet邮件扩展)中提到的所有文档类型。
Internet号码分配机构(IANA)目前支持八种正式的顶级类型和数千种子类型。
以下是顶级媒体类型。
顶级类型 | Description |
---|---|
Text/* | 它表示基于文本的文档, 例如HTML, CSS, CSV和纯文本。 |
Image/* | 所有图像子类型, 例如JPEG, 可移植网络图形, GIF等。 |
Audio/* | 它包括音乐和其他音频格式, 例如MP3和Ogg音频。 |
Video/* | 视频格式, 例如QuickTime和Mp4。 |
Model/* | 用于在各个领域表达物理或行为模型的文件格式。例如用于表示3D模型的VRML格式 |
Application/* | 特定于应用程序的文档格式不一定适合其他任何顶级类别。例如PDF和Microsoft Word(应用程序/ msword)文档。 |
Message/* | 通过Internet和其他网络发送的电子邮件和其他消息类型。 |
Multipart/* | 它显示了相关组件文档的容器格式。类似于message / *类型, multipart / *文档是通过网络传输的消息。 |
Tika的媒体类型
媒体类型是文件的类型, 它们告诉计算机哪些应用程序与哪些文件相关联。
准确检测媒体类型是Tika完美处理的一项主要任务。
Tika提供Java API和类级别的支持以与Tika MIME数据库进行交互
Tika拥有自己的媒体类型注册表, 该注册表存储IANA注册的类型以及实际使用的其他已知类型。
Tika使用MediaType类来表示媒体类型。此类的实例是不可变的, 并且仅包含媒体类型的类型/子类型对和可选的name = value参数。
以下是一些常用的文件扩展名。见表。
Extension | File Format | 媒体类型 |
---|---|---|
.txt | 文字文件 | text/plain |
.html | HTML页面 | text/html |
.xls | Microsoft Excel电子表格 | application/vnd.ms-excel |
.jpg | JPEG image | image/jpeg |
.mp3 | MP3音频 | audio/mpeg |
.zip | Zip archive | application/zip |
Tika使用其detect()方法来检测文档类型。看一个例子。
package tikaexample;
import java.io.File;
import java.io.IOException;
import org.apache.tika.Tika;
public class SimpleTypeDetect {
public static void main(String[] args) throws IOException {
Tika tika = new Tika();
String type = tika.detect(new File("srcmini.txt"));
System.out.println("file type : " + type);
}
}
输出
File type : text/plain
评论前必须登录!
注册