jpayne@68: package fileIO; jpayne@68: jpayne@68: import java.io.File; jpayne@68: jpayne@68: jpayne@68: public class CompressFiles { jpayne@68: jpayne@68: jpayne@68: public static void main(String[] args){ jpayne@68: for(String s : args){ jpayne@68: if(s.equalsIgnoreCase("zip")){ jpayne@68: zip=true; jpayne@68: gzip=false; jpayne@68: }else if(s.equalsIgnoreCase("gzip") || s.equalsIgnoreCase("gz")){ jpayne@68: zip=false; jpayne@68: gzip=true; jpayne@68: }else{ jpayne@68: compressFiles(s); jpayne@68: } jpayne@68: } jpayne@68: } jpayne@68: jpayne@68: jpayne@68: public static void compressFiles(String path){ jpayne@68: File f=new File(path); jpayne@68: compressFiles(f); jpayne@68: } jpayne@68: jpayne@68: public static void compressFiles(File path){ jpayne@68: jpayne@68: if(path.isDirectory()){ jpayne@68: File[] array=path.listFiles(); jpayne@68: for(File f : array){compressFiles(f);} jpayne@68: }else{ jpayne@68: compress(path); jpayne@68: } jpayne@68: jpayne@68: } jpayne@68: jpayne@68: public static void compress(File in){ jpayne@68: assert(in.exists()); jpayne@68: assert(in.isFile()); jpayne@68: String abs=in.getAbsolutePath(); jpayne@68: // System.out.println("Considering "+abs); jpayne@68: if(abs.endsWith(".gz") || abs.endsWith(".zip") || abs.endsWith(".bz2")){return;} jpayne@68: jpayne@68: // if(!abs.contains("custom_summary_") || !abs.endsWith("Gene_build36.txt")){return;} //TODO ***TEMPORARY*** jpayne@68: System.err.println(abs); jpayne@68: // if(!abs.endsWith(".gvla")){return;} //TODO ***TEMPORARY*** jpayne@68: // if(!abs.endsWith(".gvla") || jpayne@68: // !(abs.contains("seqGene") || abs.contains("refGene") || abs.contains("unionGene"))){return;} //TODO ***TEMPORARY*** jpayne@68: if(abs.toLowerCase().contains("familytree")){return;} //TODO ***TEMPORARY*** jpayne@68: jpayne@68: if(PRINT_7Z_BATCH){ jpayne@68: //-mx=4 is fast; -mx=5 or 6 is slow; 7+ is very slow. jpayne@68: // System.out.println("C:"+Data.SLASH+"\"Program Files\""+Data.SLASH+"7-Zip"+Data.SLASH+"7z a -mx=4 "+abs+".zip "+abs); jpayne@68: System.out.println("C:\\\"Program Files\"\\7-Zip\\7z a -mx=4 "+abs+".gz "+abs); jpayne@68: }else{ jpayne@68: System.out.println("Compressing "+abs+" to "+(zip ? "zip" : "gz")); jpayne@68: ReadWrite.copyFile(abs, abs+(zip ? ".zip" : ".gz")); jpayne@68: } jpayne@68: jpayne@68: } jpayne@68: jpayne@68: jpayne@68: public static boolean zip=true; jpayne@68: public static boolean gzip=!zip; jpayne@68: jpayne@68: public static boolean PRINT_7Z_BATCH=true; jpayne@68: jpayne@68: }