Apache Tika 能够提取中文、日语等外语吗?
我有以下代码:
Detector detector = new DefaultDetector();
Parser parser = new AutoDetectParser(detector);
InputStream stream = new ByteArrayInputStream(bytes);
OutputStream outputstream = new ByteArrayOutputStream();
ContentHandler textHandler = new BodyContentHandler(outputstream);
Metadata metadata = new Metadata();
// Set<String> langs = LanguageIdentifier.getSupportedLanguages();
// metadata.set(Metadata.CONTENT_LANGUAGE, lang);
// metadata.set(Metadata.FORMAT, hint);
ParseContext context = new ParseContext();
try {
parser.parse(stream, textHandler, metadata, context);
String extractedText = outputstream.toString();
return extractedText;
} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (TikaException e) {
e.printStackTrace();
}
如果输入的是包含汉字的doc文件,则每个汉字将被提取为“?”。
多谢!
Apache Tika 能够从其支持的文件格式中提取 unicode 文本。只要文件格式可以存储unicode文本(例如中文或日文字符),Apache Tika就可以提取它
Tika 还为此提供了许多单元测试,以验证其是否有效。其中一项测试使用这个中文电子邮件样本 http://svn.apache.org/repos/asf/tika/trunk/tika-parsers/src/test/resources/test-documents/testMSG_chinese.msg。如果使用命令行 Tika 应用程序,并获取前几行,我们会看到它正在工作:
$ java -jar tika-app-1.4.jar --text testMSG_chinese.msg | head
Alfresco MSG format testing ( MSG 格式測試 )
From
Tests Chang@FT (張毓倫)
To
Tests Chang@FT (張毓倫)
Recipients
[email protected] /cdn-cgi/l/email-protection
或者用这个日语文件 https://svn.apache.org/repos/asf/tika/trunk/tika-parsers/src/test/resources/test-documents/testRTFJapanese.rtf:
$ java -jar tika-app-1.4.jar --text testRTFJapanese.rtf | head -2
ゾルゲの処刑記録、
ゾルゲと尾崎、淡々と最期
您只需要确保您生成的任何文本输出都以合适的编码存储(例如utf8),并且您用来显示它的字体支持这些字形!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)