`
bask
  • 浏览: 146681 次
  • 性别: Icon_minigender_1
  • 来自: 宇宙
社区版块
存档分类
最新评论

压缩Html HtmlCompressor

阅读更多
一般对于网页的优化 有JavaScript和css 图片等
现在要处理的是对html 进行压缩
Google上有个项目 HtmlCompressor 还是不错的 可以直接看他的单元测试
jar 可以到源代码中找到 需要注意yuicompressor版本

现在只上个测试例子,做个记录
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.Writer;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import com.googlecode.htmlcompressor.compressor.HtmlCompressor;

public class HtmlCompressorTest {
	
	private static final String resPath = "d:/";

	@Before
	public void setUp() {
	}

	@After
	public void tearDown() {
	}
	
	@Test
	public void testEnabled() throws Exception {
		String source = readResource("testEnabled.htm");
		
		HtmlCompressor compressor = new HtmlCompressor();
		compressor.setRemoveComments(true);
		compressor.setRemoveIntertagSpaces(true);
		compressor.setRemoveQuotes(true);
		compressor.setRemoveMultiSpaces(true);
		compressor.setCompressJavaScript(true);
		compressor.setCompressCss(true);
		writeResource("testEnabledResult.html",compressor.compress(source));
	}
	
	private String readResource(String filename) {
		StringBuilder builder = new StringBuilder();
		try {
			FileInputStream stream = new FileInputStream(new File(resPath + filename));
			try {
				Reader reader = new BufferedReader(new InputStreamReader(stream));
				char[] buffer = new char[8192];
				int read;
				while ((read = reader.read(buffer, 0, buffer.length)) > 0) {
					builder.append(buffer, 0, read);
				}
			} finally {
				stream.close();
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return builder.toString();
	}
	
	private void writeResource(String filename, String content) {
		try {
			Writer output = new BufferedWriter(new FileWriter(new File(resPath + filename)));
			try {
				output.write(content);
			} finally {
				output.close();
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
分享到:
评论

相关推荐

    webstorm存盘时压缩html

    本文将详细介绍如何在WebStorm中设置自动压缩HTML文件,以实现每次保存时自动对HTML代码进行minify处理。 首先,了解HTML压缩的基本概念。HTML压缩主要是通过删除空格、换行符和不必要的字符,使文件体积减小,从而...

    HTML_CSS_JS压缩工具

    像UglifyJS、Google Closure Compiler等工具提供了这样的服务,但根据提供的文件名htmlcompressor-1.5.3,这个工具可能主要专注于HTML和CSS的压缩,而对JS的处理可能相对简单,如仅仅去除注释和空白。 在实际应用中...

    利用yuicompressor来对js、css文件压缩

    **JavaScript和CSS文件压缩的重要性** 在现代Web开发中,优化网页加载速度是至关重要的,因为这直接影响到用户体验和搜索引擎排名。其中,JavaScript和CSS文件的大小是影响加载速度的重要因素。大尺寸的脚本和样式...

    WEB高性能开发之疯狂的HTML压缩

    文章中提及的`HtmlCompressor`类是实现HTML压缩的一个很好的示例,其使用Java语言编写,并利用正则表达式来查找并替换HTML文档中的空白字符和换行符。通过一系列静态的`Pattern`对象,它能够识别并保留`<pre>`和`...

    java源码直接复制jsp-htmlcompressor:HTMLCompressor和Minifier,可以独立使用,也可以作为Java库使

    HtmlCompressor 是一个小巧、快速且非常易于使用的 Java 库,它通过在不破坏内容结构的情况下删除额外的空格、注释和其他不需要的字符来缩小给定的 HTML 或 XML 源。 结果页面变得更小,加载速度更快。 压缩器的...

    htmlcompressor:从 http 分叉

    html压缩器从分叉 Compile and deploy as OSGi bundle in sling:mvn clean -P autoInstallBundle -Dsling.user=<user> -Dsling.password=<password> install -Dsling.url=http://<host>/system/console

    jekyll-minifier:使用yui-compressor和htmlcompressor的Jekyll HTMLXMLCSSJS Minifier

    使用yui-compressor和htmlcompressor将HTML,XML,CSS,JSON和JavaScript内联化并分离为单独的文件。 这是由于先前的压缩器(jekyll-press)不兼容CSS3而创建的,这让我皱了皱眉。 注意:这是我正在学习的第一个...

    前端代码源码一键压缩工具(shell/bat)

    closure-compiler、htmlcompressor、yuicompressor压缩js、css、html文件;把要压缩的代码跟下载解压后的Tool文件夹同层,前端代码源码文件一键压缩工具(shell/bat);Windows执行Html5Shell.bat、Linux MacOX执行...

    htmlcompressor:HTML Compressor和Minifier,code.google.comphtmlcompressor的备份

    我只是想从为您保存代码:) HtmlCompressor是一个小型,快速且易于使用的Java库,它通过删除多余的空格,注释和其他不需要的字符,而不会破坏内容结构,从而最小化了给定HTML或XML源。 结果,页面的尺寸变小并且...

    Magento-HTML-Compressor:简单的基于正则表达式的 html 压缩器

    Magento-HTML-Compressor 简单的基于正则表达式的 html 压缩器它保留了以下标签不变: 脚本风格预文本区域数据中心IE 条件注释####安装解压文件如果启用则禁用编译(系统->工具->编译) 上传 magento 根文件夹内...

    it-tidalwave-northernwind-frontend-commons-1.0.15.zip

    htmlcompressor-maven-plugin.zip,maven htmlcompressor plugin允许通过向pom文件添加几行来压缩html/xml。maven htmlcompressor plugin允许通过向pom文件添加几行来压缩html/xml文件。

    Java HTML/XML Compressor-开源

    Java HTML / XML Compressor是一个非常小巧,快速且易于使用的库,它通过删除多余的空格,注释和其他不需要的字符来压缩给定HTML或XML源,而不会破坏内容结构。

    _jaws:适用于AWS(S3和CloudFront)的Jekyll部署脚本

    免责声明:该项目与完全无关(这是一个很酷的项目,如果您对静态站点和AWS感兴趣,则应该检查一下)。 我现在也没有维护和使用该项目。... 您可以安装以获得更好的压缩效果。 _jaws默认使用gzip 。 _jaws

Global site tag (gtag.js) - Google Analytics