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