利用Tika,我们可以获得文件的实际类型、文件的编码格式、字符串的语言、文件的文本内容。Tika集成了许多jar包,包括poi和pdfbox,通过Tika对象的parseToString(File file)方法可以读取TXT、Word、Excel、PPT、PDF、HTML、XML等文件的文本内容。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.tika.Tika;
import org.apache.tika.detect.AutoDetectReader;
import org.apache.tika.exception.TikaException;
import org.apache.tika.language.LanguageIdentifier;
public class Test {
public static void main(String args[]) throws FileNotFoundException, IOException, TikaException{
String file="E:\\2013.xls";
File f = new File(file);
Tika tika = new Tika(); //创建一个Tika类
//利用Tika的detect方法检测文件的实际类型
System.out.println("filetype:"+tika.detect(file));
//利用Tika的parseToString()方法读取文件的文本内容
System.out.println("content:"+tika.parseToString(f));
//利用Tika的AutoDetectReader类检测文件的编码格式
AutoDetectReader dr = new AutoDetectReader(new FileInputStream(file));
System.out.println("charset:"+dr.getCharset().name());
//利用Tika的LanguIdentifier类检测字符串的语言
LanguageIdentifier identifier = new LanguageIdentifier("this is English");
System.out.println("language:"+identifier.getLanguage());
}
}