您的位置:首页 > 其它

压缩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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: