正文
压缩JS,提高代码执行速度
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
压缩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指令,原窗口不会关闭。
PS:压缩CSS时,会影响JS和其他类型文件!!!
压缩JS时,无问题,建议压缩哪类文件时单放置哪类文件!!!
import java.io.BufferedReader; import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.io.InputStreamReader; 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(); } }