Apache Tika是一个用于检测文档类型和从各种文件格式中提取内容的库。本文将介绍如何在Eclipse中创建一个新项目,并运行一个示例来使用Apache Tika库检测文件类型。
Apache Tika是一个强大的库,它提供了多种功能,包括文档类型检测、内容提取、元数据提取和语言检测。本文将指导如何在Eclipse项目中使用这个库。
在本文中,将提供一个示例,展示如何在Eclipse中创建一个新项目,并尝试运行一个示例来使用Apache Tika库检测文件类型。
使用的是Apache Tika 1.20版本。可以从下载jar文件并保存到机器上。
打开Eclipse并创建一个新的Java项目:
右键点击 'src' 并选择 New -> Class。给它起一个名字,比如 'DetectType'。刷新项目,应该能在 'src' 中看到新添加的文件。
在新添加的文件中添加以下代码:
public class DetectType {
public static void main(String[] args) throws Exception {
}
}
在同一工作空间下创建一个名为 'lib' 的文件夹,并将jar文件复制到该文件夹中。
将jar文件添加到DetectType项目中。右键点击项目,选择 Properties -> Java Build Path -> Add JARs。选择项目中新复制的jar文件。如果看不到jar文件,请刷新项目后重试。属性窗口现在应该看起来像这样:
刷新项目,在Project Explorer中,现在应该能看到jar文件被添加了。
更新代码,包括Tika类,并检测文件类型。
import org.apache.tika.Tika;
public class DetectType {
public static void main(String[] args) throws Exception {
Tika tika = new Tika();
for (String file : args) {
String fileType = tika.detect(file);
System.out.println("File type of '" + file + "' is : " + fileType);
}
}
}
项目的层次结构应该如下所示(注意可以将包名设置为 'default package'。在下一部分中保留了 'org.apache.tika'。如果需要调试Facade类/函数,导入整个tika源代码会很有帮助)。
上述程序期望输入参数为文件名。这可以作为参数传递。例如:
现在运行程序,应该在控制台中得到结果。类似于这样:
File type of 'format\1.vsd' is application/vnd.visio
上述示例是一个小型示例,用于检测文件类型。有许多公开的API可以用来提取更多的元数据,甚至是文件内容。完整的列表,请参见 。
如果想将整个Apache Tika源代码添加到Eclipse项目中,并调试Facade类/函数,请按照以下步骤操作。
在 'src' 中创建一个新的包 'org.apache.tika'(如上文第11点所示)。
在 'org.apache.tika' 下创建一个新的类。右键点击 'org.apache.tika' -> New -> Class。给它起一个喜欢的名字,比如 'DetectType'。
从 下载源代码 'Mirrors for tika-1.20-src.zip'。
解压上述文件,将得到可以用于调试上述代码中Facade类的包。
进入 'tika-core',并将 'tika-core\src\main\java\org\apache\tika' 文件夹中的内容复制到工作空间 'DetectType\src\org\apache\tika' 文件夹中。刷新Eclipse项目,将看到所有这些包。
如果项目中出现任何错误,那是因为 'package-info.java'。删除这个文件,因为这个文件的唯一目的是提供包级别的文档和包级别的注释。
开始调试,如果在任何级别找不到源代码,请进入第4点中的文件结构,将其复制到适当的工作空间结构中的 org/apache/tika。
如果在使用 'org.osgi.framework'、'org.osgi.util' 时出现错误,请访问 并下载jar文件。将其添加到项目中,就像在第8步中添加 'tika-app.jar' 一样。
同样,可以在同一个网站上找到更多的包,因为它们可能会给带来麻烦,比如 'org.sqlite.SQLiteConfig'。