1 回答
TA贡献1815条经验 获得超13个赞
在客户端,您应该在关闭输出流之前关闭 GZIP 输出流。
gos.close();
os.close();
在服务器端,您应该使用来自请求的输入流
ServletInputStream inputStream = request.getInputStream();
GZIPInputStream gis = new GZIPInputStream(inputStream);
BufferedReader br = new BufferedReader(new InputStreamReader(gis, "UTF-8"));
StringBuilder sb = new StringBuilder();
String line;
while((line = br.readLine()) != null) {
sb.append(line);
}
System.out.println(sb.toString());
对于流,最好使用尝试资源blok,您不必记住关闭流。
try (OutputStream os = conn.getOutputStream()) {
try (GZIPOutputStream gos = new GZIPOutputStream(os)) {
gos.write(payload.getBytes(StandardCharsets.UTF_8));
}
}
添加回答
举报