gpt4 book ai didi

java - 使用 Apache TIKA 解析文本时如何指定编码?

转载 作者:搜寻专家 更新时间:2023-11-01 03:53:24 26 4
gpt4 key购买 nike

这个问题不言自明。

我面临的问题是,我在网上找到的任何 Tika 示例代码都使用了 StringWriter,如下所示。如果我能以某种方式使用 OutputStreamWriter,我可以指定编码没问题...任何帮助将不胜感激。

InputStream inStream = new FileInputStream(pathname);
StringWriter sw = new StringWriter();
SAXTransformerFactory factory = (SAXTransformerFactory)SAXTransformerFactory.newInstance();
TransformerHandler handler = factory.newTransformerHandler();
handler.getTransformer().setOutputProperty(OutputKeys.METHOD,"html");
handler.getTransformer().setOutputProperty(OutputKeys.INDENT,"no");
handler.setResult(new StreamResult(sw));
parser.parse(inStream, handler, metadata, context);

最佳答案

您可以通过元数据对象设置编码。我用过这个片段:

import org.apache.tika.metadata.Metadata;

Metadata metadata = new Metadata();
metadata.add(Metadata.CONTENT_ENCODING, DATAFILE_CHARSET);
String parsedString = tika.parseToString(inputStream, metadata);

默认情况下,tika 在解析 html 时尝试确定编码本身。但有时这可能会导致错误。

关于java - 使用 Apache TIKA 解析文本时如何指定编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17355441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com