⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gzip.java

📁 实例精华
💻 JAVA
字号:
import java.io.*; 
import java.util.zip.*; 
 
public class GZip
{ 
  public void gzip(String filename) //filename表示控制台传来的文件的路径+文件名
  { 
    String gzfile = getFileName(filename)+".gzip";//调用getFileName方法得到文件名,同".gzip"生成压缩文件的名字。gzip只能对单个文件压缩,所以直接命名为.gzip
  
    try 
    { 
      //打开需压缩文件作为文件输入流,注意,只能为单个文件,不能为目录
      FileInputStream fin = new FileInputStream(filename); 
      //建立压缩文件输出流
      FileOutputStream fout=new FileOutputStream(gzfile); 
      //建立GZIP压缩输出流 
      GZIPOutputStream gzout=new GZIPOutputStream(fout); 
      //设置读入缓冲区
      byte[] buf=new byte[1]; //创建一个空间的字节数组来存放一个压缩文件
      System.out.println("开始解压"+filename+"... ...");
      while ( fin.read(buf) != -1) //将文件读到字节数组中
      {
        gzout.write(buf,0,1); //将字节数组中的文件写出到相应的gzip文件中。
      }
      System.out.println("压缩"+filename+"完成");
      gzout.close(); 
      fout.close(); 
      fin.close(); 
    }
    catch(IOException e) 
    { 
      System.out.println(e); 
    } 
  } 
  //用于取的指定路径文件的文件名,如"c:\test\a.htm"中的文件名a.htm
  public String getFileName(String filePath)//filePath为控制台输入的路径+文件名
  {
    int begin = filePath.lastIndexOf("\\")+1;//找到最后一级目录
    return filePath.substring(begin);//得到文件名
  }
  
  
  public static void main(String[] args)
  {
    if (args.length !=1) 
    { 
      System.out.println("用法:java GZip SourceFile"); 
      System.exit(1); 
    } 
    else
    {
      GZip gz = new GZip();//创建当前类对象
      gz.gzip(args[0]);//调用gzip方法并传一个控制台的参数,该参数表示将要压缩文件的路径名+文件名
    }
  }    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -