0

嗨,下面是我提取特定元数据标签并将这些标签写入 json 文件的代码。我将 json.lib.jar 和 tika-app.jar 导入到我的构建路径中。

File dir = new File("C:/pdffiles");
File listDir[] = dir.listFiles();
for (int i = 0; i < listDir.length; i++) 
{
    System.out.println("files"+listDir.length);     
    String file=listDir[i].toString();
    File file1 = new File(file);

    InputStream input = new FileInputStream(file1);           
    Metadata metadata = new Metadata();
    BodyContentHandler handler = new BodyContentHandler(10*1024*1024);
    AutoDetectParser parser = new AutoDetectParser();       
    parser.parse(input, handler, metadata);

    Map<String, String> map = new HashMap<String, String>();
    map.put("File name: ", listDir[i].getName());
    map.put("Title: " , metadata.get("title"));
    map.put("Author: " , metadata.get("Author"));
    map.put("Content type: " , metadata.get("Content-Type"));


    JSONObject json = new JSONObject();
    json.accumulateAll(map);

    FileWriter file2;
    file2 = new FileWriter("C:\\test.json");
    file2.write(json.toString());
    file2.flush();
}

但它只将单个文件元数据写入 json 文件。我的代码有什么问题,请建议我。

4

1 回答 1

0

可能你应该使用 - file2.write(json.toJSONString()); 而不是这一行 - file2.write(json.toString());

于 2013-10-06T15:49:51.930 回答