压缩ZIP
2016-02-29 17:22
369 查看
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.8.2</version>
</dependency>
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Zip;
import org.apache.tools.ant.types.FileSet;
import org.springframework.util.StringUtils;
/**
*
*/
public class FileUtil
{
public static byte[] getFileContent(String filepath) throws IOException
{
File file = new File(filepath);
byte[] buff = new byte[(int) file.length()];
FileInputStream fin = new FileInputStream(file);
fin.read(buff);
fin.close();
return buff;
}
public static void compressToZip(String srcDir, String zipFile)
{
File srcdir = new File(srcDir);
if (!srcdir.exists())
throw new RuntimeException(srcDir + "�����ڣ�");
Project prj = new Project();
Zip zip = new Zip();
zip.setProject(prj);
zip.setDestFile(new File(zipFile));
FileSet fileSet = new FileSet();
fileSet.setProject(prj);
fileSet.setDir(srcdir);
// fileSet.setIncludes("**/*.java");
// eg:zip.setIncludes("*.java");
// fileSet.setExcludes(...);
zip.addFileset(fileSet);
zip.execute();
}
public static void writeMessageToTxt(StringBuilder builder, File file)
throws IOException
{
FileUtils.writeStringToFile(file, builder.toString(), "UTF-8", true);
}
public static <T> void exportTxtReaLised(String filePath,
final List<T> dataAll, final String[] tableHeader, String split)
throws Exception
{
Long start = System.currentTimeMillis();
if (StringUtils.isEmpty(filePath))
{
throw new Exception("filePath is null");
}
if (null == dataAll)
{
throw new Exception("data is null");
}
if (null == tableHeader || tableHeader.length == 0)
{
throw new Exception("tableHeader is null");
}
try
{
String filename = filePath + File.separator + "Flow_" + 1 + ".txt";
File director = new File(filePath);
if (!director.exists())
{
director.mkdirs();
}
File file = new File(filename);
FileUtils.writeStringToFile(file, getHeader(tableHeader, split),
"UTF-8", true);
StringBuilder builder = convertDataToString(dataAll, tableHeader,
split);
writeMessageToTxt(builder, file);
System.out.println(System.currentTimeMillis() - start);
} catch (Exception e)
{
e.printStackTrace();
}
}
public static String getHeader(String[] tableHeader, String split)
{
StringBuilder builder = new StringBuilder();
for (String s : tableHeader)
{
builder.append(s);
builder.append(split);
}
builder.delete(builder.length() - 1, builder.length());
builder.append("\n");
return builder.toString();
}
public static <T> StringBuilder convertDataToString(final List<T> dataAll,
final String[] tableHeader, String split)
{
StringBuilder builder = new StringBuilder();
int count = dataAll.size();
for (int i = 0; i < count; i++)
{
for (int j = 0; j < tableHeader.length; j++)
{
builder.append(ReflectionUtils.invokeGetterMethod(
dataAll.get(i), tableHeader[j]));
builder.append(split);
}
builder.delete(builder.length() - 1, builder.length());
builder.append("\n");
}
return builder;
}
}
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.8.2</version>
</dependency>
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Zip;
import org.apache.tools.ant.types.FileSet;
import org.springframework.util.StringUtils;
/**
*
*/
public class FileUtil
{
public static byte[] getFileContent(String filepath) throws IOException
{
File file = new File(filepath);
byte[] buff = new byte[(int) file.length()];
FileInputStream fin = new FileInputStream(file);
fin.read(buff);
fin.close();
return buff;
}
public static void compressToZip(String srcDir, String zipFile)
{
File srcdir = new File(srcDir);
if (!srcdir.exists())
throw new RuntimeException(srcDir + "�����ڣ�");
Project prj = new Project();
Zip zip = new Zip();
zip.setProject(prj);
zip.setDestFile(new File(zipFile));
FileSet fileSet = new FileSet();
fileSet.setProject(prj);
fileSet.setDir(srcdir);
// fileSet.setIncludes("**/*.java");
// eg:zip.setIncludes("*.java");
// fileSet.setExcludes(...);
zip.addFileset(fileSet);
zip.execute();
}
public static void writeMessageToTxt(StringBuilder builder, File file)
throws IOException
{
FileUtils.writeStringToFile(file, builder.toString(), "UTF-8", true);
}
public static <T> void exportTxtReaLised(String filePath,
final List<T> dataAll, final String[] tableHeader, String split)
throws Exception
{
Long start = System.currentTimeMillis();
if (StringUtils.isEmpty(filePath))
{
throw new Exception("filePath is null");
}
if (null == dataAll)
{
throw new Exception("data is null");
}
if (null == tableHeader || tableHeader.length == 0)
{
throw new Exception("tableHeader is null");
}
try
{
String filename = filePath + File.separator + "Flow_" + 1 + ".txt";
File director = new File(filePath);
if (!director.exists())
{
director.mkdirs();
}
File file = new File(filename);
FileUtils.writeStringToFile(file, getHeader(tableHeader, split),
"UTF-8", true);
StringBuilder builder = convertDataToString(dataAll, tableHeader,
split);
writeMessageToTxt(builder, file);
System.out.println(System.currentTimeMillis() - start);
} catch (Exception e)
{
e.printStackTrace();
}
}
public static String getHeader(String[] tableHeader, String split)
{
StringBuilder builder = new StringBuilder();
for (String s : tableHeader)
{
builder.append(s);
builder.append(split);
}
builder.delete(builder.length() - 1, builder.length());
builder.append("\n");
return builder.toString();
}
public static <T> StringBuilder convertDataToString(final List<T> dataAll,
final String[] tableHeader, String split)
{
StringBuilder builder = new StringBuilder();
int count = dataAll.size();
for (int i = 0; i < count; i++)
{
for (int j = 0; j < tableHeader.length; j++)
{
builder.append(ReflectionUtils.invokeGetterMethod(
dataAll.get(i), tableHeader[j]));
builder.append(split);
}
builder.delete(builder.length() - 1, builder.length());
builder.append("\n");
}
return builder;
}
}
相关文章推荐
- Xcode菜单快捷键
- Android-将RGB彩色图转换为灰度图
- 《从零开始学Swift》学习笔记(Day 14)——字符串的插入、删除和替换
- 原创翻译:James Whittaker系列——Google是如何测试的(4)
- 17.UITextView
- 实例解析linux内核I2C体系结构(一)
- nginx(一)基础安装配置
- 初次使用git管理代码~后续使用过程中遇到的问题汇总
- Leet Code OJ 101. Symmetric Tree [Difficulty: Easy]
- hdu1016Prime Ring Problem
- 【分布式存储】GlusterFS failing to mount at boot with Ubuntu 14.04
- 企业链表模型——业务实体和底层链表算法分离
- 17个新手常见Python运行时错误
- 诊断 Grid Infrastructure 启动问题 (文档 ID 1623340.1)
- 如何防止客户端被破解
- 小米粒儿的CSDN博客开启啦~~
- Struts2的声明式异常处理
- Android分享中,如何过滤指定的应用,并且对不同的分享方式发送不同的内容?
- ios开发与安卓开源项目及库
- 数组 NSArray 排序 数组的KVC,KVO