当我使用Apache Tika从内容中确定文件类型时.XML文件很好但不是json.如果内容类型是json,它将返回"text/plain"而不是"application/json".
有帮助吗?
public static String tiKaDetectMimeType(final File file) throws IOException {
TikaInputStream tikaIS = null;
try {
tikaIS = TikaInputStream.get(file);
final Metadata metadata = new Metadata();
return DETECTOR.detect(tikaIS, metadata).toString();
} finally {
if (tikaIS != null) {
tikaIS.close();
}
}
}
Run Code Online (Sandbox Code Playgroud)
JSON基于纯文本,因此当仅给出要使用的字节时,Tika报告它并不奇怪.
你的问题是你没有提供文件名,所以Tika没有那个可以使用.如果你有,Tika可以说bytes=plain text + filename=json => json并给你你想要的答案
你缺少的那条线是:
metadata.set(Metadata.RESOURCE_NAME_KEY, filename);
Run Code Online (Sandbox Code Playgroud)
所以固定的代码片段是:
tikaIS = TikaInputStream.get(file);
final Metadata metadata = new Metadata();
metadata.set(Metadata.RESOURCE_NAME_KEY, file.getName());
return DETECTOR.detect(tikaIS, metadata).toString();
Run Code Online (Sandbox Code Playgroud)
有了它,你会得到你所期望的JSON答案
| 归档时间: |
|
| 查看次数: |
2646 次 |
| 最近记录: |