项目需要压缩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(); } }
相关推荐
将YUI Compressor集成到Maven项目中,可以实现自动化压缩JS和CSS文件的功能,这在部署前是一个非常重要的步骤,可以显著减小文件大小,从而加速网页加载。 ### 配置Maven插件 在给定的部分内容中,可以看到一个`...
总的来说,Java开发中压缩js和css文件是提高Web应用性能的重要手段。通过选择合适的工具,结合构建工具和自定义逻辑,可以轻松地实现这一目标,确保用户能够快速加载和浏览网页。而在这个过程中,理解文件压缩的原理...
Maven作为一个强大的Java项目管理工具,提供了与各种构建优化工具集成的能力,其中包括使用YUI Compressor来压缩CSS和JS文件。YUI Compressor是一款由Yahoo开发的开源工具,它能够去除代码中的空白、注释,并进行...
在现代网页开发中,为了提高页面加载速度和优化用户体验,JavaScript (js) 和 Cascading Style Sheets (css) 文件的压缩至关重要。YUI Compressor 是 Yahoo! 开发的一款高效、强大的压缩工具,能够有效地减小 js 和 ...
基于java的开发源码-JSCSS压缩工具 YUI Compressor.zip 基于java的开发源码-JSCSS压缩工具 YUI Compressor.zip 基于java的开发源码-JSCSS压缩工具 YUI Compressor.zip 基于java的开发源码-JSCSS压缩工具 YUI ...
标题“Yui压缩和合并js工具”所涉及的核心技术是JavaScript文件的压缩与合并,这是一种常见的前端优化手段,旨在减少网页加载时间和提升页面性能。YUI Compressor是Yahoo开发的一款开源工具,用于压缩JavaScript和...
1. **代码压缩**:YUI Compressor能够智能地分析JavaScript和CSS文件,去除其中的多余空格、换行和注释,同时进行代码混淆,将变量名和函数名替换为更短的形式,进一步减小文件体积。 2. **代码合并**:除了压缩,...
`YUI Compressor 2.4.2` 是一个由雅虎(Yahoo)开发的开源工具,主要用于JavaScript和CSS代码的压缩与优化。这个版本发布于2009年,它在当时是业界广泛使用的前端资源压缩工具之一。通过这个工具,开发者能够有效地...
描述中的信息与标题相吻合,同样强调了YUI Compressor是一个基于Java的源码实现,用于CSS和JS文件的压缩。 **YUI Compressor介绍** YUI Compressor是由Yahoo!开发的一款开源工具,它通过删除代码中的空格、注释和...
例如,在Gulp中,你可以安装`gulp-yui-compressor`插件,编写任务来自动压缩JS和CSS文件: ```javascript const gulp = require('gulp'); const yuicompressor = require('gulp-yui-compressor'); gulp.task('...
**YUI Compressor** 是一个强大的JavaScript和CSS压缩工具,由Yahoo!开发并开源,旨在减少网页加载时间,提升网站性能。它通过删除不必要的空格、注释和换行,以及应用变量和函数的最小化来优化代码,从而减小文件...
这两个命令分别将原始的CSS和JavaScript文件压缩成更小的`style.min.css`和`script.min.js`。`-o`参数指定输出文件名,`--type js`指定了处理的是JavaScript文件。 除了单个文件的处理,YUI Compressor还可以处理...
### 使用YUICompressor与DOS批处理脚本压缩JavaScript和CSS详解 #### 一、引言 在现代Web开发中,JavaScript与CSS文件作为网页的重要组成部分,它们的加载速度直接影响着用户体验及网站的整体性能。当文件过大时,...
标题 "ant和yuicompressor 压缩css、js方案" 涉及到的是在软件开发中如何使用构建工具Ant以及JavaScript压缩工具YUI Compressor来优化前端资源,特别是CSS和JavaScript文件。这两个工具在Web开发中起着至关重要的...
"基于java的JSCSS压缩工具 YUI Compressor.zip" 就是这样一款强大的工具,它能有效地压缩JavaScript和CSS代码,从而减少文件体积,加快页面加载速度。 YUI Compressor是由雅虎(Yahoo!)开发的一个开源工具,它支持...
以下是一个简单的Ant构建文件示例,用于压缩JS和CSS文件: ```xml <project name="YUI+Ant Compression" default="compress"> <taskdef name="yui-compress" classname=...
YUI JS CSS 打包工具是一款高效的前端资源优化工具,主要针对JavaScript (JS) 和 Cascading Style Sheets (CSS) 文件进行压缩和合并,以提升网页加载速度和整体性能。这款工具由雅虎(Yahoo!)开发,是其开源项目的...
Java源码:JS和CSS压缩混淆 JsCompressor 是一个用于优化前端资源的工具,它能够对JavaScript和CSS文件进行压缩和混淆,以提高网页加载速度并保护代码安全。这个工具的核心在于减小文件大小,降低网络传输的时间,...
本文将深入探讨基于Java的YUI Compressor在JavaScript和CSS压缩领域的应用,以及其背后的原理和技术细节。 YUI Compressor是一款强大的代码压缩工具,它能够有效地减小JavaScript和CSS文件的大小,从而提高网页的...