java - How to zip files from my result? -
this question has answer here:
- creating zip archive in java 7 answers
i need know how can zip files result, files older 30 jan in folder , need zip them, can do??
please see code:
package agefilefilter; import java.io.file; import java.io.filefilter; import java.io.ioexception; import java.util.date import java.util.gregoriancalendar; import org.apache.commons.io.filefilter.agefilefilter; public class agefilefiltertest { public static void main(string[] args) throws ioexception { file directory = new file("c:\\users\\kroon_000\\desktop\\files"); gregoriancalendar cal = new gregoriancalendar(); cal.set(2014, 0, 30, 0, 0, 0); // january 30th, 2014 date cutoffdate = cal.gettime(); system.out.println("\nbefore " + cutoffdate); displayfiles(directory, new agefilefilter(cutoffdate)); } public static void displayfiles(file directory, filefilter filefilter) { file[] files = directory.listfiles(filefilter); (file file : files) { date lastmod = new date(file.lastmodified()); system.out.println("file: " + file.getname() + ", date: " + lastmod + ""); } } }
result:
before thu jan 30 00:00:00 cat 2014 file: 2014-01-12-17-37-28-11304-processed_inst-11304-20140112-120140112.zip, date: sun jan 12 17:37:29 cat 2014 file: bill issuer summary - 2014-01-23 2014-01-23.pdf, date: fri jan 24 02:18:39 cat 2014 file: cape agulhas settlement 2013-12-02 2013-12-02.csv, date: tue dec 03 09:24:06 cat 2013 file: cape agulhas settlement 2013-12-02 2013-12-02.pdf, date: tue dec 03 09:24:06 cat 2013 file: cape agulhas store trans 2013-12-02 2013-12-02.csv, date: tue dec 03 09:24:09 cat 2013
public static void zip(string[] files, string zipfile) throws ioexception { bufferedinputstream origin = null; zipoutputstream out = new zipoutputstream(new bufferedoutputstream(new fileoutputstream(zipfile))); try { byte data[] = new byte[buffer_size]; (int = 0; < files.length; i++) { fileinputstream fi = new fileinputstream(files[i]); origin = new bufferedinputstream(fi, buffer_size); try { zipentry entry = new zipentry(files[i].substring(files[i].lastindexof("/") + 1)); out.putnextentry(entry); int count; while ((count = origin.read(data, 0, buffer_size)) != -1) { out.write(data, 0, count); } } { origin.close(); } } } { out.close(); } }
Comments
Post a Comment