Apache tika を使用してメタデータを抽出し、HashMap に入れようとしています。しかし、私のコードは、そのキーの値ではなくキーのみを取得します。キーワードを(キーとして)保存するのと同じ方法ですが、その値は保存しません..
そして、mdに何が含まれているかを確認しようとすると、次のように表示されます:-
Description= title=Wireless Technology & Innovation | Mobile Technology Content-Encoding=UTF-8 Content-Type=text/html; charset=utf-8 Keywords= google-site-verification=AzhlXdqBSdUCRPJRY1evCtp2Ko5r9kxB_f81WffACUc
private Map<String, String> metaData;
try {
Metadata md = new Metadata();
htmlStream = new ByteArrayInputStream(htmlContent.getBytes());
String parsedText = tika.parseToString(htmlStream, md);
//very unlikely to happen
if (text == null){
text = parsedText.trim();
}
processMetaData(md);
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(htmlStream);
}
private void processMetaData(Metadata md){
if ((getMetaData() == null) || (!getMetaData().isEmpty())) {
setMetaData(new HashMap<String, String>());
}
for (String name : md.names()){
//This below line is not working I guess, it stores only the key.. not the value of that particular key..
getMetaData().put(name.toLowerCase(), md.get(name));
}
}
public Map<String, String> getMetaData() {
return metaData;
}
public void setMetaData(Map<String, String> metaData) {
this.metaData = metaData;
}
どんな助けでも大歓迎です..