`

java YUI压缩JS和CSS

    博客分类:
  • JAVA
 
阅读更多

项目需要压缩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();
		}
}

 

分享到:
评论

相关推荐

    maven+yui压缩js,css文件

    将YUI Compressor集成到Maven项目中,可以实现自动化压缩JS和CSS文件的功能,这在部署前是一个非常重要的步骤,可以显著减小文件大小,从而加速网页加载。 ### 配置Maven插件 在给定的部分内容中,可以看到一个`...

    java开发中压缩js,css文件

    总的来说,Java开发中压缩js和css文件是提高Web应用性能的重要手段。通过选择合适的工具,结合构建工具和自定义逻辑,可以轻松地实现这一目标,确保用户能够快速加载和浏览网页。而在这个过程中,理解文件压缩的原理...

    maven打包使用yui压缩css和js文件

    Maven作为一个强大的Java项目管理工具,提供了与各种构建优化工具集成的能力,其中包括使用YUI Compressor来压缩CSS和JS文件。YUI Compressor是一款由Yahoo开发的开源工具,它能够去除代码中的空白、注释,并进行...

    yui compressor js 、css 压缩大全

    在现代网页开发中,为了提高页面加载速度和优化用户体验,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 Compressor.zip 基于java的开发源码-JSCSS压缩工具 YUI ...

    Yui压缩和合并js工具

    标题“Yui压缩和合并js工具”所涉及的核心技术是JavaScript文件的压缩与合并,这是一种常见的前端优化手段,旨在减少网页加载时间和提升页面性能。YUI Compressor是Yahoo开发的一款开源工具,用于压缩JavaScript和...

    YUI Compressor js css压缩工具

    1. **代码压缩**:YUI Compressor能够智能地分析JavaScript和CSS文件,去除其中的多余空格、换行和注释,同时进行代码混淆,将变量名和函数名替换为更短的形式,进一步减小文件体积。 2. **代码合并**:除了压缩,...

    yui compressor 2.4.2 javascript/css压缩程序

    `YUI Compressor 2.4.2` 是一个由雅虎(Yahoo)开发的开源工具,主要用于JavaScript和CSS代码的压缩与优化。这个版本发布于2009年,它在当时是业界广泛使用的前端资源压缩工具之一。通过这个工具,开发者能够有效地...

    基于Java的源码-JSCSS压缩工具 YUI Compressor.zip

    描述中的信息与标题相吻合,同样强调了YUI Compressor是一个基于Java的源码实现,用于CSS和JS文件的压缩。 **YUI Compressor介绍** YUI Compressor是由Yahoo!开发的一款开源工具,它通过删除代码中的空格、注释和...

    JSCSS压缩工具 YUI Compressor

    例如,在Gulp中,你可以安装`gulp-yui-compressor`插件,编写任务来自动压缩JS和CSS文件: ```javascript const gulp = require('gulp'); const yuicompressor = require('gulp-yui-compressor'); gulp.task('...

    YUI Compressor压缩JS和Css工具(包含详细配置)

    **YUI Compressor** 是一个强大的JavaScript和CSS压缩工具,由Yahoo!开发并开源,旨在减少网页加载时间,提升网站性能。它通过删除不必要的空格、注释和换行,以及应用变量和函数的最小化来优化代码,从而减小文件...

    使用yuicompressor压缩及合并js,css静态资源

    这两个命令分别将原始的CSS和JavaScript文件压缩成更小的`style.min.css`和`script.min.js`。`-o`参数指定输出文件名,`--type js`指定了处理的是JavaScript文件。 除了单个文件的处理,YUI Compressor还可以处理...

    使用YUICompressor和DOS批处理脚本压缩JavaScript和CSS整理.pdf

    ### 使用YUICompressor与DOS批处理脚本压缩JavaScript和CSS详解 #### 一、引言 在现代Web开发中,JavaScript与CSS文件作为网页的重要组成部分,它们的加载速度直接影响着用户体验及网站的整体性能。当文件过大时,...

    ant和yuicompressor 压缩css、js方案

    标题 "ant和yuicompressor 压缩css、js方案" 涉及到的是在软件开发中如何使用构建工具Ant以及JavaScript压缩工具YUI Compressor来优化前端资源,特别是CSS和JavaScript文件。这两个工具在Web开发中起着至关重要的...

    基于java的JSCSS压缩工具 YUI Compressor.zip

    "基于java的JSCSS压缩工具 YUI Compressor.zip" 就是这样一款强大的工具,它能有效地压缩JavaScript和CSS代码,从而减少文件体积,加快页面加载速度。 YUI Compressor是由雅虎(Yahoo!)开发的一个开源工具,它支持...

    YUI+Ant 实现JS CSS压缩

    以下是一个简单的Ant构建文件示例,用于压缩JS和CSS文件: ```xml &lt;project name="YUI+Ant Compression" default="compress"&gt; &lt;taskdef name="yui-compress" classname=...

    YUI JS CSS 打包工具

    YUI JS CSS 打包工具是一款高效的前端资源优化工具,主要针对JavaScript (JS) 和 Cascading Style Sheets (CSS) 文件进行压缩和合并,以提升网页加载速度和整体性能。这款工具由雅虎(Yahoo!)开发,是其开源项目的...

    java源码:JS和CSS压缩混淆 JsCompressor.rar

    Java源码:JS和CSS压缩混淆 JsCompressor 是一个用于优化前端资源的工具,它能够对JavaScript和CSS文件进行压缩和混淆,以提高网页加载速度并保护代码安全。这个工具的核心在于减小文件大小,降低网络传输的时间,...

    基于Java的实例开发源码-JSCSS压缩工具 YUI Compressor.zip

    本文将深入探讨基于Java的YUI Compressor在JavaScript和CSS压缩领域的应用,以及其背后的原理和技术细节。 YUI Compressor是一款强大的代码压缩工具,它能够有效地减小JavaScript和CSS文件的大小,从而提高网页的...

Global site tag (gtag.js) - Google Analytics