我正在尝试使用以下代码来阅读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();
}
}
}
答案 0 :(得分:1)
通过快速阅读the documentation,您看起来正在阅读Microsoft Word编码文档的原始字节。
尝试将&exportFormat=doc
更改为html
或txt
,看看输出是否更有意义。
答案 1 :(得分:0)
我怀疑您尝试打印的文件有一些其他编码,但是您以ASCII方式逐字节打印它们。我会尝试将整个流读取为字节数组,然后使用其他编码(例如UTF8)将其转换为字符串。