在网络数据传输中,为了降低数据传输量,用哪种算法最好,有哪位大虾帮忙吗?最好有JAVA源代码

newwp 2001-07-19 01:08:11
...全文
93 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vive 2001-07-22
  • 打赏
  • 举报
回复
对,直接用java自带的zip
ghw 2001-07-22
  • 打赏
  • 举报
回复
给你一个压缩zip包的例子吧,前几天回答过这样的问题。

/*
Use: java ZipFiles zipFileName file1 file2 file3 file4 ...
*/
import java.io.*;
import java.util.*;
import java.util.zip.*;

public class ZipFiles
{
public static void main(String[] args)
{
int i=0;
if((args.length<2)¦¦(args.length>20))
{
System.out.println("Use: java ZipFiles zipFileName file1 file2 file3 file4 ...");
System.out.println("files number can not be larger than 20!");
System.exit(0);
}

//取得待压缩的文件名
String s_zipName=args[0];
String[] s_files_will_be_ziped=new String[20];
int i_count_will_be_ziped_files=args.length-1;
for(i=1;i<args.length;i++)
{
s_files_will_be_ziped[i-1]=args[i];
}

//print
System.out.println("below files will be ziped!");
for(i=0;i<i_count_will_be_ziped_files;i++)
System.out.println("file---->"+s_files_will_be_ziped[i]);

//压缩
System.out.println("compressing... ... ...");
System.out.println("compressed "+zip_files(s_files_will_be_ziped,i_count_will_be_ziped_files,s_zipName)+" files");

} //end main



/* method zip_files() : version 1.2 2001/07/05 */
static int zip_files(String[] s_temp,int i_count_files,String s_ziped_fileName)
{
String s_current_path_fileName="";
String s_current_fileName="";
String[] s_fileNames=new String[100];
byte[] buffer=new byte[1024];
int bytesRead=0;
int i=0;

//先做一些校验工作----------------------------------------
try
{
if((i_count_files<=0)¦¦(i_count_files>99)¦¦(!(s_ziped_fileName.endsWith(".zip"))))
return 0;
int j=0;
for(i=0;i<i_count_files;i++)
{
File f_test=new File(s_temp[i]);
if(f_test.isFile())
{
s_fileNames[j]=s_temp[i];
j++;
}
}
i_count_files=j;
}
catch(Exception ee_345)
{
return 0;
}

//正式开始压缩--------------------------------------------
try
{
ZipOutputStream zip=new ZipOutputStream(new FileOutputStream(s_ziped_fileName));

for(i=0;i<i_count_files;i++)
{
s_current_path_fileName=s_fileNames[i];
FileInputStream in=new FileInputStream(s_current_path_fileName);
File f_ttt=new File(s_current_path_fileName);
s_current_fileName=f_ttt.getName();
ZipEntry entry=new ZipEntry(s_current_fileName);
zip.putNextEntry(entry);
while((bytesRead=in.read(buffer))!=-1)
zip.write(buffer,0,bytesRead);
in.close();
} //end for
zip.close();
return i_count_files;
}
catch(Exception ex)
{
//System.out.println(ex);
return 0;
}
} //end zip_files()


} //end class ZipFiles

ghw 2001-07-22
  • 打赏
  • 举报
回复
不好意思,怎么贴上来的代码有乱码,
上面显示“¦¦”的地方实际是关系运算符“||”
hjfgcx 2001-07-21
  • 打赏
  • 举报
回复
java可以用ZIP文件格式,看java流吧!java.util.zip.ZipInputStream
newwp 2001-07-19
  • 打赏
  • 举报
回复
在网络数据传输中,为了降低数据传输量,用哪种算法进行压缩最好,有哪位大虾帮忙吗?最好有JAVA源代码

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧