关于java压缩和解压文件的问题 ( 积分: 80 )

  • 主题发起人 主题发起人 hairmen
  • 开始时间 开始时间
H

hairmen

Unregistered / Unconfirmed
GUEST, unregistred user!
急着做一个项目,客户端上传一个文件时,需要进行压缩再进行传输,到了服务器端再自动解压存放。
希望各位大虾给我提供点思路呀。不知如何下手。
 
急着做一个项目,客户端上传一个文件时,需要进行压缩再进行传输,到了服务器端再自动解压存放。
希望各位大虾给我提供点思路呀。不知如何下手。
 
java的io部分带了压缩和解压的库。
查看相关资料。
 
要看 客户端上传的文件格式了,如果是rar的,好像用java自带的io包就不行。
如果要是自己做的话 ,就容易很多了。
用gzipoutoutstream来包装fileoutputstream就行了。
 
谢谢各位了,客户端是IE,可以用Applet,
只是要实现上传下载过程中,要以压缩文件传输,到了目的地(上传为服务器,下载为客户端)后自动调用解压程序。
项目只是指定用java实现,具体如何压缩、解压由我自已定方案。还望各位朋友尽量多给我一些信息。
yangxiao_jiang:这部分不太懂,如果你有相关示例,能否给我一些呀。
在此再谢了!
 
谢谢各位了,客户端是IE,可以用Applet,
只是要实现上传下载过程中,要以压缩文件传输,到了目的地(上传为服务器,下载为客户端)后自动调用解压程序。
项目只是指定用java实现,具体如何压缩、解压由我自已定方案。还望各位朋友尽量多给我一些信息。
yangxiao_jiang:这部分不太懂,如果你有相关示例,能否给我一些呀。
在此再谢了!
 
java中有gzip这个包,你可以对流进行包装,用gzip的流把文件流包装一下。
try {
// Create the GZIP output stream
String outFilename = "outfile.gzip";
GZIPOutputStream out = new GZIPOutputStream(new FileOutputStream(outFilename));

// Open the input file
String inFilename = "infilename";
FileInputStream in = new FileInputStream(inFilename);

// Transfer bytes from the input file to the GZIP output stream
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) >
0) {
out.write(buf, 0, len);
}
in.close();

// Complete the GZIP file
out.finish();
out.close();
} catch (IOException e) {
}

try {
// Open the compressed file
String inFilename = "infile.gzip";
GZIPInputStream in = new GZIPInputStream(new FileInputStream(inFilename));

// Open the output file
String outFilename = "outfile";
OutputStream out = new FileOutputStream(outFilename);

// Transfer bytes from the compressed file to the output file
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) >
0) {
out.write(buf, 0, len);
}

// Close the file and stream
in.close();
out.close();
} catch (IOException e) {
}
 
谢谢yangxiao_jiang,我试了一下,可以,好像压缩比例比RAR小了点,不过我够用了。
等一下再把分给你:), 我的分比较少,我怕还有新的问题,就一起问了。
万分感谢了。
 
yangxiao_jiang:真的不好意思,今天把Demo程序做好,我的方案没有通过,是我理解错了,急死我了。
因为要在客户端进行压缩(上载前)和解压(下载后),因为无法为每个客户端安装JDK,所以这样不行的。 最后理解的是要找一种现成的算法控件(OCX或dll),在第一次访问页的时候会要求下载安装,在上载或下载后调用控件中的算法进行压缩或解压。
项目要求这样,还请大家多多帮忙。我在网上找了半天也没找到什么压缩算法控件,急!
谢谢了。[?]
 
在客户端进行压缩?是用户自己来做?还是程序自动进行压缩?
 
是自动压缩和解压缩,对用户来遇是透明的,目的就是压缩后再传输以提高上传或下载速度!
:)太谢谢您了,费心了。
 
你说的那种情况我没有用过。而且你在网页中调用本地的程序,这样好像是不行的吧,安全性是不允许的。
 
多人接受答案了。
 
后退
顶部