проблемы при чтении текстового документа Google с помощью API Google - PullRequest
0 голосов
/ 13 декабря 2011

Я пытаюсь использовать следующий код для чтения текстового документа 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 ]

1 голос
/ 20 декабря 2011

Из быстрого прочтения документации похоже, что вы читаете необработанные байты документа в формате Microsoft Word.

Попробуйте изменить &exportFormat=doc на html или txt и посмотрите, имеет ли смысл вывод.

0 голосов
/ 20 декабря 2011

Я подозреваю, что файлы, которые вы пытаетесь распечатать, имеют другую кодировку, но вы печатаете их побайтно ASCII-способом.Я бы попытался прочитать весь поток как байтовый массив, а затем преобразовать его в строку, используя другую кодировку (например, UTF8).

...