- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的代码中有以下两种方法。现在,我可以根据以下代码从 URL 读取 JSON。但是,我应该如何修改代码以便获得 gzip 文件,然后将其解码为 JSON?
private static String readAll(Reader rd) throws IOException {
StringBuilder sb = new StringBuilder();
int cp;
while ((cp = rd.read()) != -1) {
sb.append((char) cp);
}
return sb.toString();
}
public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
InputStream is = new URL(url).openStream();
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String jsonText = readAll(rd);
Log.e("size of text", jsonText.length()+"");
JSONObject json;
if (jsonText.contains("</div>")) {
json = new JSONObject(jsonText.split("</div>")[1]);
} else {
json = new JSONObject(jsonText);
}
return json;
} finally {
is.close();
}
}
最佳答案
public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
HttpUriRequest request = new HttpGet(url);
request.addHeader("Accept-Encoding", "gzip");
HttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request);
InputStream instream = response.getEntity().getContent();
org.apache.http.Header contentEncoding = response.getFirstHeader("Content-Encoding");
JSONObject json = null;
if (contentEncoding != null && contentEncoding.getValue().equalsIgnoreCase("gzip")) {
BufferedReader rd = new BufferedReader(new InputStreamReader(new GZIPInputStream(instream)));
String jsonText = readAll(rd);
if (jsonText.contains("</div>")) {
json = new JSONObject(jsonText.split("</div>")[1]);
} else {
json = new JSONObject(jsonText);
}
}
return json;
}
关于java - Android 压缩包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14684534/
我的代码中有以下两种方法。现在,我可以根据以下代码从 URL 读取 JSON。但是,我应该如何修改代码以便获得 gzip 文件,然后将其解码为 JSON? private static String
当我尝试使用 compc 构建 .swc 时,我得到了 Error: could not find a JVM。 我找到了 this站点,然后注释掉 java.home 行。那没有帮助。 我正在尝试从
1、此方法可以下载图片、压缩包、pdf(亲测),应该所有类型的文件都可以下载到本地,可以试一下 ?
我遇到了两个关于 zip 存档的问题,我想在这里分享并请求您的经验: 目录重复如果我在存档中创建两个或多个同名目录(在根目录下),存档包含两个目录(在查看条目时),但每个 ZIP 应用程序(也包括 W
我正在尝试将两个网络请求与 zip 函数结合起来。这两个请求依赖于另一个请求 (getInfoA)。 这是我正在使用的代码: IoC.networkProcessService.getInfoA(wi
我有我下载的文件: 2MGF&DPNA.part1.rar 2MGF&DPNA.part2.rar 2MGF&DPNA.part3.rar 2MGF&DPNA.part4.rar 2MGF&DPNA.
我需要使用 SharpCompress 将文件压缩为 7zip:http://sharpcompress.codeplex.com 我做了如下: using (var archive = ZipArc
.NET ZipArchive 是否允许重命名或移动条目?目前无法更改 ZipArchiveEntry 创建后的名称。看来我必须将原始 ZipArchiveEntry 的流复制到名称更改后的新 Zip
我是第一次尝试 Webpack。我已经将 Gulp 与 Browserify 一起使用了一段时间,并且对它非常满意。在这一点上,我只是在测试几个 Webpack 插件。即 compression-we
我正在尝试找出解决问题的方法;事实上,我正在编写自己的工具,使用 C++ 中的 libzip 来压缩文件来进行保存。 绝对没有完成,但我想做一些测试,然后我做了并从日志中获得了一个“有趣”的错误。 这
目录结构如下 Test app libs commons-codec.jar guava-r09.jar
我创建了一个简单的备份脚本,它只备份某些文件和文件夹。 tar -zcf $DIRECTORY/var.www.tar.gz /var/www tar -zcf $DIRECTORY/developm
我正在使用 Rails 5.2 和 ActiveStorage 让我的用户在我的应用程序中上传文件。我将所有上传的文件显示在一个表格中,我可以选择要下载的文件。选择后,我将能够将它们全部下载到一个 z
我正在使用 Rails 5.2 和 ActiveStorage 让我的用户在我的应用程序中上传文件。我将所有上传的文件显示在一个表格中,我可以选择要下载的文件。选择后,我将能够将它们全部下载到一个 z
我是一名优秀的程序员,十分优秀!