压缩JS-yuicompressor-2.4.jar

import java.io.BufferedReader;

import java.io.File;

import java.io.FileFilter;

import java.io.IOException;

import java.io.InputStreamReader;


/**

 * 压缩JS 

 * java -jar yuicompressor-2.4.jar --type js xxx.js -o xxx.js --charset utf-8 

 * 压缩CSS 

 * java -jar yuicompressor-2.4.jar --type css xxx.css -o xxx.css --charset utf-8

 * java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令。 

 * (1) cmd /c dir 是执行完dir命令后关闭命令窗口。 

 * (2) cmd /k dir 是执行完dir命令后不关闭命令窗口。 

 * (3) cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。 

 * (4) cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。 

 * @author ligang

 *  PS:压缩CSS时,会影响JS和其他类型文件!!!

 *     压缩JS时,无问题,建议压缩哪类文件时单放置哪类文件!!!

 */

public class ZipJS {

public static void main(String[] args) throws Exception {

//文件存在目录

String dir = "D:\\js";  

String[] fileNames = getFileNames(dir); 

System.out.println("The total number of files:"+fileNames.length);

for (String string : fileNames) {

if(string.equals("yuicompressor-2.4.jar")){   

continue ;

}

String cmd = "java -jar yuicompressor-2.4.jar --type js "+string+" -o "+string+" --charset utf-8"; 

//String cmd = "java -jar yuicompressor-2.4.jar --type css "+string+" -o "+string+" --charset utf-8"; 

Runtime.getRuntime().exec("cmd /c D: & cd "+dir+" & "+cmd);  

}

}

//获取当前文件夹下所有文件名称

private static String[] getFileNames(String dir) {

File file = new File(dir);

File[] files = file.listFiles(new FileOnlyFilter());

String[] ary = new String[files.length];

for (int i = 0; i < files.length; i++) {

ary[i] = files[i].getName();

}

return ary ;

}

}


class FileOnlyFilter implements FileFilter {

public boolean accept(File file) {

return file.isFile();

}

}


本文出自 “李刚的学习之旅” 博客,请务必保留此出处http://381510688.blog.51cto.com/4623168/1570495

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。