package utils.edu; import java.io.File; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.Copy; import org.apache.tools.ant.taskdefs.Delete; import org.apache.tools.ant.taskdefs.Expand; import org.apache.tools.ant.taskdefs.Mkdir; import org.apache.tools.ant.taskdefs.Move; import org.apache.tools.ant.types.FileSet; /** * 2013.12.19 * ant �ļ�Ŀ¼�Ľ������ƶ���ѹ���ɾ���ȵIJ�� * @author zq * */ public class AntFile { //��ѹ��ļ�,src��ѹ��ļ���dest�ǽ�ѹ��Ŀ��Ŀ¼���ɹ�����1��ʧ�ܷ���-1 public static int unzip(File src,File dest){ int res = -1; try { Project prj=new Project(); Expand expand=new Expand(); expand.setProject(prj); expand.setSrc(src); expand.setOverwrite(true); expand.setDest(dest); expand.execute(); res = 1; } catch (BuildException e) { // TODO Auto-generated catch block e.printStackTrace(); } return res; } //ɾ��Ŀ¼����������ļ�����Ŀ¼,�ɹ�����1��ʧ�ܷ���-1 public static int deleteDir(File f){ int res = -1; try { Project prj=new Project(); Delete delete=new Delete(); delete.setProject(prj); delete.setDir(f); //��ͬʱ����Ŀ¼������ļ�ɾ�� delete.execute(); res = 1; } catch (BuildException e) { // TODO Auto-generated catch block e.printStackTrace(); } return res; } //ɾ���ļ�,�ɹ�����1��ʧ�ܷ���-1 public static int deleteFile(File f){ int res = -1; try { Project prj=new Project(); Delete delete=new Delete(); delete.setProject(prj); delete.setFile(f); //��ͬʱ����Ŀ¼������ļ�ɾ�� delete.execute(); res = 1; } catch (BuildException e) { // TODO Auto-generated catch block e.printStackTrace(); } return res; } // �ļ�ɨ��.f��ɨ���·����filterָ�����˵���������ط���������ļ�������·�������, ʧ��Ϊ����null // filter={"**/*.java"} �� public static String[] scanFiles(File f,String[] filter){ String[] includeFiles = null; try { DirectoryScanner ds=new DirectoryScanner(); ds.setBasedir(f); ds.setIncludes(filter); //**/*.java ds.scan(); if(ds.getIncludedFilesCount()>0) { includeFiles=ds.getIncludedFiles(); } } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } return includeFiles; } //����Ŀ¼���ɹ�����1��ʧ�ܷ���-1 public static int makeDir(File f){ int res = -1; try { Project prj=new Project(); Mkdir mkdir=new Mkdir(); mkdir.setProject(prj); mkdir.setDir(f); mkdir.execute(); res = 1; } catch (BuildException e) { // TODO Auto-generated catch block e.printStackTrace(); } return res; } //�����ļ���src�������ļ���destĿ��·�����ɹ�����1��ʧ�ܷ���-1 public static int copy(File src ,File dest){ int res = -1; try { Project prj=new Project(); Copy copy=new Copy(); copy.setProject(prj); copy.setFile(src); copy.setTodir(dest); copy.execute(); //��f1.txt�ļ�copy��dir1�� res = 1; } catch (BuildException e) { // TODO Auto-generated catch block e.printStackTrace(); } return res; } //�ļ���� public static int rename(File srcf,File destf){ int res = -1; try { Project prj=new Project(); Move copy=new Move(); copy.setProject(prj); copy.setFile(srcf); copy.setTofile(destf); copy.execute(); //��f1.txt�ļ����Ϊf2.txt�� res = 1; } catch (BuildException e) { // TODO Auto-generated catch block e.printStackTrace(); } return res; } //��f�µ�zip�ļ���ѹ��f�£�ԭzip�ļ�ɾ���� public static void unzip(File f,boolean bdel){ String[] filter={"*.zip"}; String[] files = AntFile.scanFiles(f, filter); if(files!=null){ //��zip�ļ� for(String file:files){ int res = AntFile.unzip(new File(f.getAbsoluteFile()+"\\"+file), f); if(res>0 && bdel){ //��ѹ�ɹ�, ������ɾ������ɾ��ԭzip�ļ� AntFile.deleteFile(new File(f.getAbsoluteFile()+"\\"+file)); //ɾ��ѹ��ļ� } } } } //�� ָ��Ŀ¼�µ��ļ����Ƶ�Ŀ��Ŀ¼�� public static void copy(File srcdir,File desdir,String match){ Project prj=new Project(); Copy copy=new Copy(); copy.setProject(prj); FileSet fileset=new FileSet(); fileset.setProject(prj); fileset.setDir(srcdir); if(match==null) fileset.setIncludes("**/*.*"); //Ŀ¼�µ�����ļ�,����Ŀ¼�� else fileset.setIncludes(match); copy.addFileset(fileset); copy.setTodir(desdir); copy.execute(); } public static void main(String[] args){ File src =new File("./demo/7/Selenium.zip"); //��֧��rar�ļ��Ľ�ѹ File dest=new File("./testdata/doccn/"); // AntFile.unzip(src, dest); //AntFile.deleteFile(src); //pass test //AntFile.deleteDir(new File(dest.getAbsoluteFile()+"\\zhengchaota_atm")); //��ȡָ��Ŀ¼�µ����java�ļ�������Ŀ¼�µ� String[] filter={"**/*.doc"}; //"*.zip" String[] files = AntFile.scanFiles(dest, filter); if(files!=null){ for(String str:files){ System.out.println(str); } } //�ڵ�ǰ·���´���һ��Ŀ¼ // AntFile.makeDir(new File("./temp")); } }