站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题简单的压缩程序

简单的压缩程序

摘要: 简单的压缩程序

</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="344" height="86" align="left" valign="top"> 简单的压缩程序,将某一目录下所有的bmp图像文件分别压缩。

import java.io.*;
import java.util.*;
import java.util.zip.ZipOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

public class FileMgr {
String srcPath;
public FileMgr(String srcPath) {
this.srcPath=srcPath;
}

public static void printHelp(){
System.out.println("USAGE: java FileMgr ");
}

</td> <td width="340" valign="top"> </td> </tr> </table>
 public static void main(String[] args) {

   

     if (args.length!=1){

       printHelp();

       return;

     }

 

    String srcPath = args[0];//源图像的目录

    FileMgr fm = new FileMgr(srcPath);

    File[] fi=fm.getFiles();

    for(int i=0;i< fi.length;i++){

  

     fm.process(srcPath,fi[i]);

    }

  }

 private File[] getFiles() {//获取源目录中的所有bmp图像文件

  File path = new File(srcPath);

  File[] files = path.listFiles(new FileFilter() {

   public boolean accept(File pathname) {

    if (pathname == null)

     return false;

    String ext = pathname.getName().substring(pathname.getName().lastIndexOf(".") + 1).toUpperCase();

    return ext.equals("BMP");

   }

  });

  return files;

 }

  /**

   *压缩

   */

  public  void process(String srcPath,File srcfile) {  //srcfile  需要压缩的文件

    int k=srcfile.getName().indexOf(".");

    String fn=srcfile.getName().substring(0,k);

    System.out.println("OK--"+fn+".zip");

   

    byte[] buf = new byte[1024];

    try {

      // 创建一个压缩文件

      ZipOutputStream out = new ZipOutputStream(new FileOutputStream(srcPath+"/"+fn+".zip"));

      // 压缩创建的文件

      FileInputStream in = new FileInputStream(srcPath+"/"+srcfile.getName());

      ZipEntry entry=new ZipEntry(srcfile.getName());

        out.putNextEntry(entry);

        int len;

        while ( (len = in.read(buf)) > 0) {

          out.write(buf, 0, len);

        }

          in.close();

     

      // 完成此压缩文件

      out.close();

    }catch (IOException e) {

      System.out.println(e.toString());

    }

  }

}
</td> </tr> <tr>


↑返回目录
前一篇: 深入浅出面向对象的复用
后一篇: java编程技巧两则