将存放在sourceFilePath目录下的源文件,打包成fileName名称的zip文件,并存放到zipFilePath路径下
来源:互联网 发布:cr2什么软件打开 编辑:程序博客网 时间:2024/04/30 11:04
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.sql.Connection;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ConnectTimeoutException;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
* 将存放在sourceFilePath目录下的源文件,打包成fileName名称的zip文件,并存放到zipFilePath路径下
* @param sourceFilePath--待压缩的文件路径
* @param zipFilePath--压缩后存放路径
* @param fileName--压缩后文件的名称
* @return
*/
public static boolean fileToZio(String sourceFilePath,String zipFilePath,String fileName){
boolean flag = false;
File sourceFile = new File(sourceFilePath);
FileInputStream fis =null;
BufferedInputStream bis = null;
FileOutputStream fos = null;
ZipOutputStream zos =null;
if(sourceFile.exists()==false){
System.out.println("待压缩的文件目录:"+sourceFilePath+"不存在.");
}else{
try{
File zipPathDir = new File(zipFilePath);
//如果保存目录不存在,先创建目录
if(!zipPathDir.exists()){
zipPathDir.mkdir();
}
File zipFile = new File(zipFilePath+"/"+fileName+".zip");
if(zipFile.exists()){
System.out.println(zipFilePath+"目录下存在名字为:"+fileName+".zip"+"打包文件");
}else{
File[] sourceFiles = sourceFile.listFiles();
if(null == sourceFiles || sourceFiles.length <1){
System.out.println("待压缩的文件目录:"+sourceFilePath+"里面不存在文件,无需压缩");
}else{
fos = new FileOutputStream(zipFile);
zos = new ZipOutputStream(new BufferedOutputStream(fos));
byte[] bufs = new byte[1024*10];
for (int i = 0; i < sourceFiles.length; i++) {
String directory = sourceFiles[i].getName();
//取特定字符的文件:比如特定时间的文件20170416
if(directory.indexOf("20170416") != -1){
//创建ZipEntry实体类
ZipEntry zipEntry = new ZipEntry(sourceFiles[i].getName());
zos.putNextEntry(zipEntry);
//读取待压缩的文件并写进压缩包里
fis = new FileInputStream(sourceFiles[i]);
bis = new BufferedInputStream(fis,1024*10);
int read = 0;
while ((read=bis.read(bufs,0,1024*10)) != -1) {
zos.write(bufs,0,read);
}
}
}
flag = true;
}
}
}catch(FileNotFoundException e){
e.printStackTrace();
throw new RuntimeException();
}catch(IOException e){
e.printStackTrace();
throw new RuntimeException();
}finally{
//关闭流
try{
if(null != bis){
bis.close();
}
if(null != fis){
fis.close();
}
if(null != zos){
zos.close();
}
if(null != fos){
fos.close();
}
}catch(IOException e){
e.printStackTrace();
throw new RuntimeException();
}
}
}
return flag;
}
- 将存放在sourceFilePath目录下的源文件,打包成fileName名称的zip文件,并存放到zipFilePath路径下
- php获取一个目录下的所有文件全路径---包括子目录---并存放到一维数组
- Makefile例子,能够引用子目录下的源文件,并将二进制文件存放到相应目录
- 解压所在目录下所有zip包 ,对解压的文件编辑内容 ,将编辑完的文件存放至目标目录下_02
- makefile 将生成的目标文件和可执行文件存放在指定的目录下
- makefile有关问题,想像vs一样将目标文件,输出文件存放在指定文件夹,而不是在源文件的目录
- 编译src目录下的源文件,然后放在compile文件夹下,接着把compile下的class文件打包,放在dist文件夹下
- 编译src目录下的源文件,然后放在compile文件夹下,接着把compile下的class文件打包,放在dist文件夹下,并设置清单
- 将文件保存在Documents/fileName下
- 获取Documents目录下的文件,将相同后缀的文件放到同一数组中
- C# 将引用的DLL文件放到指定的目录下
- C# 将引用的DLL文件放到指定的目录下
- 以下命令能将当前目录下的所有目录打包成tar.gz文件
- hpunix下标准c取得指定目录下所有文件和路径的名称
- 更改maven默认的打包目录:将class文件和lib目录打包放到指定的目录
- 编译src目录下的源文件,然后放在compile文件夹下,接着把compile下的class文件打包,放在dist文件夹下,并设置清单,时间戳
- 从ZipInputStream找出给定文件夹下的所有文件,存放在Map中,key=filename ,value=file content string
- 头文件和源文件在不同目录情况下 Makefile自动推导依赖关系的实现
- 1017.A除以B (20)
- Webpack2 入门踩坑教程(五)
- mysql基础
- AttributeError: module 'scipy.sparse' has no attribute 'linalg'
- Redis 脚本命令
- 将存放在sourceFilePath目录下的源文件,打包成fileName名称的zip文件,并存放到zipFilePath路径下
- POST提交数据时四种常见的数据格式
- Kerbero协议
- Linux安装oracle数据库(静默模式)
- 提取文档中的指定内容
- 工作五年还在一线写代码丢人吗
- Snackbar使用详解
- hydra框架之责任链设计模式
- Ubuntu16.04---腾讯NCNN框架入门到应用