2011-12-13 181 views
0

我想使用下面的代碼來閱讀谷歌文本文件。但是返回的值是一個垃圾字符流,而不是真正的內容。我怎樣才能解決這個問題。在谷歌瀏覽谷歌文本文件中的問題

for (DocumentListEntry entry : resultFeed.getEntries()) { 
    String docId = entry.getDocId(); 
    String docType = entry.getType(); 
    URL exportUrl = new URL("https://docs.google.com/feeds/download/" 
     + docType 
     + "s/Export?docID=" 
     + docId 
     + "&exportFormat=doc"); 

    MediaContent mc = new MediaContent(); 
    mc.setUri(exportUrl.toString()); 

    MediaSource ms = client.getMedia(mc); 
    InputStream inStream = null; 


    try { 
     inStream = ms.getInputStream(); 
     int c; 
     while ((c = inStream.read()) != -1) { 
      System.out.print((char)c); 
     } 
    } finally { 
     if (inStream != null) { 
      inStream.close(); 
     } 
    } 
} 
+0

對此有幫助嗎? – Vik

回答

1

the documentation快速閱讀,它看起來像你正在閱讀一個Microsoft Word編碼文檔的原始字節。

嘗試將&exportFormat=doc更改爲htmltxt並查看輸出是否更有意義。

+0

使用選項創建文本文檔,不會在Google文檔本身上創建文檔。它不是一個Word文檔上傳到谷歌文檔 – Vik

+1

這並不重要如何創建文檔。該API以[.doc格式](http://code.google.com/apis/documents/docs/3.0/reference.html#ExportParameters)導出文檔,因爲您將doc指定爲導出格式。 – jnnnnn

0

我懷疑你試圖打印出來的文件有一些其他的編碼,但你用ASCII方式逐字節地打印它們。我會嘗試讀取整個流作爲字節數組,然後使用其他編碼(例如UTF8)將其轉換爲字符串。