相关疑难解决方法(0)

压缩和解压缩流

我发现这篇关于在JAVA中实现的简单代理服务器的文章:

http://www.java2s.com/Code/Java/Network-Protocol/Asimpleproxyserver.htm

代码只是从客户端获取一些流,然后将其发送到服务器,然后从服务器获取流并将响应发送到客户端.我想要做的是在发送之前压缩这些流,并在收到之后对其进行解压缩.

我找到了班级,GZIPInputStream但我不确定如何使用它,我在互联网上找到的并没有帮助我.我要么不明白这么多,要么对我来说不是一个好的解决方案.

我的想法也是如此,但我不确定它是否正常:

final InputStream streamFromClient = client.getInputStream();
final OutputStream streamToClient = client.getOutputStream();
final InputStream streamFromServer = server.getInputStream();
final OutputStream streamToServer = server.getOutputStream();

InputStream gzipStream = new GZIPInputStream(streamFromClient );
try
{
        while ((bytesRead = gzipStream.read(request)) != -1)
       {
                    streamToServer.write(request, 0, bytesRead);
                    streamToServer.flush();
        }
}
catch (Exception e) {
System.out.println(e);
}
Run Code Online (Sandbox Code Playgroud)

现在发送到服务器的数据应该在发送之前进行压缩(但我不确定它是否是正确的解决方案).是吗?

现在假设服务器向我发送压缩数据.所以这个流:

final InputStream streamFromServer = server.getInputStream();
Run Code Online (Sandbox Code Playgroud)

被压缩了.

我怎样才能解压缩并写入

final OutputStream streamToClient = client.getOutputStream();
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助,伙计们!

java compression gzip stream

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

compression ×1

gzip ×1

java ×1

stream ×1