我想把一个压缩后的输出流转变为输出时解压缩后继续输出。
附件中一个是输入流的改造,可以实现输入时压缩继续输入,但我想改一个输出时解压缩继续输出就不成功了,请帮我改一个。我的邮箱是pqc4391@yeah.net.成功后我给200分,不够还可以加。
以下是调用测试程序段
try{
BufferedInputStream br1 = new BufferedInputStream(engineCompress(new FileInputStream("/soft/pqcjava/pqcnet/1.txt")));
System.out.println("br1 create!");
File fp=new File("/soft/pqcjava/pqctestzip1.txt");
BufferedOutputStream bo1 = new BufferedOutputStream(engineCompress(new FileOutputStream(fp))); //在此被阻塞了
System.out.println("bo1 create!");
int buflen=8192;
byte b1[]=new byte[buflen];
int readlen=0;
while ((readlen = br1.read(b1,0,buflen)) != -1)
{
System.out.println("count1="+readlen);
bo1.write(b1,0,readlen);
System.out.println("write ="+readlen);
// System.out.println("count1="+count1);
}
br1.close();
bo1.close();
}
catch(Exception e)
{
e.printStackTrace();
}
private static OutputStream engineCompress (OutputStream out)
throws IOException {
return new OutputEngineOutputStream
(new IOStreamInputEngine (out, new GZIPInputStreamFactory ()));
}
private static InputStream engineCompress (InputStream in)
throws IOException {
return new OutputEngineInputStream
(new IOStreamEngine (in, new GZIPOutputStreamFactory ()));
}
以下是调用测试程序段
try{
BufferedInputStream br1 = new BufferedInputStream(engineCompress(new FileInputStream("/soft/pqcjava/pqcnet/1.txt")));
System.out.println("br1 create!");
File fp=new File("/soft/pqcjava/pqctestzip1.txt");
BufferedOutputStream bo1 = new BufferedOutputStream(engineCompress(new FileOutputStream(fp))); //在此被阻塞了
System.out.println("bo1 create!");
int buflen=8192;
byte b1[]=new byte[buflen];
int readlen=0;
while ((readlen = br1.read(b1,0,buflen)) != -1)
{
System.out.println("count1="+readlen);
bo1.write(b1,0,readlen);
System.out.println("write ="+readlen);
// System.out.println("count1="+count1);
}
br1.close();
bo1.close();
}
catch(Exception e)
{
e.printStackTrace();
}
private static OutputStream engineCompress (OutputStream out)
throws IOException {
return new OutputEngineOutputStream
(new IOStreamInputEngine (out, new GZIPInputStreamFactory ()));
}
private static InputStream engineCompress (InputStream in)
throws IOException {
return new OutputEngineInputStream
(new IOStreamEngine (in, new GZIPOutputStreamFactory ()));
}
...全文
相关推荐
Linux下的压缩解压缩命令详解
在Linux操作系统中,压缩和解压缩是常见的文件管理任务,特别是在处理大文件或大量文件时。
C++ zip解压缩压缩
例如,可能有一个`compress_file()`函数用于压缩单个文件,以及一个`unzip_archive()`函数用于解压缩整个ZIP文件到指定的目录。
利用JAVASCRIPT即你想那个GZIP压缩与解压缩
解压缩后,我们通常会得到一个包含原始数据的ArrayBuffer,可以进一步转换回字符串或其他形式的数据。
pb实现压缩与解压缩
压缩后,备份文件可以在更短的时间内完成,同时所需的存储媒介也更小。在恢复备份时,再将这些压缩文件解压缩,还原原始数据。
c#实现图片压缩与解压缩
本文介绍了一个Windows窗体应用程序,它能够实现文件的压缩与解压缩功能。用户可以通过图形界面选择文件,并设置压缩质量参数。程序在压缩时会处理RGB颜色数据,并在解压缩时还原图像数据。用户还可以动态


Java SE
