我正在使用Wargaming API来访问游戏数据,每当我用Java下载其中一个JSON文件时,无论文件大小,它都永远不会完整。
我认为这与我从溪流中阅读的方式有关:
0
InputStreamReader来自与API的URL关联的URLConnection.getInputStream()。
那么如何在不破坏或遇到文件结尾的情况下从流中读取?
答案 0 :(得分:0)
我将org.apache.commons.io.IOUtils
与Gson
一起使用,此套装从未让我失望过。
InputStream stream = connection.getInputStream(); // or getErrorStream()
StringWriter writer = new StringWriter();
IOUtils.copy(stream, writer, "UTF-8");
String response = writer.toString();
Entity entity = new Gson().fromJson(response, Entity.class);