javascript
java 压缩js css,java YUI压缩JS跟CSS
項目需要壓縮JS和CSS,文件和文件夾太多,一一處理又比較麻煩,寫個程序吧:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
import org.mozilla.javascript.ErrorReporter;
import org.mozilla.javascript.EvaluatorException;
import com.yahoo.platform.yui.compressor.CssCompressor;
import com.yahoo.platform.yui.compressor.JavaScriptCompressor;
public class TestJsZip {
//要處理的目錄
static File dir=new File("E:\\js");
static int linebreakpos = -1;
static boolean munge=true;
static boolean verbose=false;
static boolean preserveAllSemiColons=false;
static boolean disableOptimizations=false;
public static void main(String[] args) throws Exception{
checkFile(dir);
}
public static void checkFile(File file) throws Exception{
File[] files=file.listFiles();
if(files==null||files.length==0)
return;
for(File f:files){
if(f.getName().endsWith(".svn")){
continue;
}
if(f.isFile()){
jsZip(f);
System.out.println("文件==="+f.getName());
continue;
}else{
System.out.println("目錄=="+f.getName());
checkFile(f);
}
}
}
public static void jsZip(File file) throws Exception{
String fileName=file.getName();
if(!fileName.endsWith(".js")&&!fileName.endsWith(".css")){
return;
}
Reader in = new InputStreamReader(new FileInputStream(file),"utf-8");
String filePath=file.getAbsolutePath();
File tempFile=new File(filePath+".tempFile");
Writer out = new OutputStreamWriter(new FileOutputStream(tempFile),"utf-8");
if(fileName.endsWith(".js")){
JavaScriptCompressor jscompressor=new JavaScriptCompressor(in, new ErrorReporter() {
public void warning(String message, String sourceName,
int line, String lineSource, int lineOffset) {
if (line < 0) {
System.err.println("\n[WARNING] " + message);
} else {
System.err.println("\n[WARNING] " + line + ':' + lineOffset + ':' + message);
}
}
public void error(String message, String sourceName,
int line, String lineSource, int lineOffset) {
if (line < 0) {
System.err.println("\n[ERROR] " + message);
} else {
System.err.println("\n[ERROR] " + line + ':' + lineOffset + ':' + message);
}
}
public EvaluatorException runtimeError(String message, String sourceName,
int line, String lineSource, int lineOffset) {
error(message, sourceName, line, lineSource, lineOffset);
return new EvaluatorException(message);
}
});
jscompressor.compress(out, linebreakpos, munge, verbose, preserveAllSemiColons, disableOptimizations);
}else if(fileName.endsWith(".css")){
CssCompressor csscompressor = new CssCompressor(in);
csscompressor.compress(out, linebreakpos);
}
out.close();
in.close();
file.delete();
tempFile.renameTo(file);
tempFile.delete();
}
}
總結
以上是生活随笔為你收集整理的java 压缩js css,java YUI压缩JS跟CSS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 战役和战斗有什么区别?
- 下一篇: 商会秘书长需要处理好哪几个问题?