使用谷歌apis阅读谷歌文本文档的问题

时间:2011-12-13 14:18:50

标签: java gdata

我正在尝试使用以下代码来阅读Google文本文档。但返回的值是带有垃圾字符而不是真实内容的流。我怎样才能解决这个问题。

           
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();
        }
    }
}  

2 个答案:

答案 0 :(得分:1)

通过快速阅读the documentation,您看起来正在阅读Microsoft Word编码文档的原始字节。

尝试将&exportFormat=doc更改为htmltxt,看看输出是否更有意义。

答案 1 :(得分:0)

我怀疑您尝试打印的文件有一些其他编码,但是您以ASCII方式逐字节打印它们。我会尝试将整个流读取为字节数组,然后使用其他编码(例如UTF8)将其转换为字符串。