2013-06-24 58 views
0

嗨,下面是我的代碼來提取特定的元數據標籤並將這些標籤寫入json文件。我將json.lib.jar和tika-app.jar導入到我的構建路徑中。使用java將輸出值寫入json文件

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文件。我的代碼有什麼問題,請給我建議。

回答

0

可能是你應該使用 - file2.write(json.toJSONString()); 而不是這條線 - file2.write(json.toString());