压缩html文件的Java库?

压缩html文件的Java库?,java,html,compression,Java,Html,Compression,有人知道有什么好的java库(或单个方法)可以从html文件中去掉额外的空格(换行符、制表符等)?所以html文件基本上变成了一行 谢谢 更新:似乎没有库可以这样做,因此我创建了自己的开源项目来解决此任务:就我个人而言,我只是在服务器中启用了HTTP压缩,我的HTML保持可读性 但是为了满足您的需要,您可以使用String.replaceAll()和一个与您指定的正则表达式匹配的正则表达式。在我的脑海里,就像: small=large.replaceAll("\\s{2,}"," "); 将任

有人知道有什么好的java库(或单个方法)可以从html文件中去掉额外的空格(换行符、制表符等)?所以html文件基本上变成了一行

谢谢


更新:似乎没有库可以这样做,因此我创建了自己的开源项目来解决此任务:

就我个人而言,我只是在服务器中启用了HTTP压缩,我的HTML保持可读性

但是为了满足您的需要,您可以使用String.replaceAll()和一个与您指定的正则表达式匹配的正则表达式。在我的脑海里,就像:

small=large.replaceAll("\\s{2,}"," ");

将任何空格转换为单个空格

假设希望将HTML变小以优化通过网络发送的字节,为什么不让HTTP服务器完成这项工作?阅读


行吗?不幸的是,这不是免费的。

小心点。pre和textarea元素内的文本将被损坏。此外,脚本元素中的内联javascript必须以column;结尾;。最后,如果您使用html注释编写内联javascript(以避免一些旧的浏览器错误行为),这将最终注释掉整个内联javascript代码


你为什么要这么做?如果您想减少html的下载大小,那么您所需要的只是一个库。

看起来没有这样做的库,因此我创建了自己的开源项目来解决此任务,也许有人会发现它很有用:

您需要以下库:



版本不是最新的,但它们是兼容的。
闭包用于内联JavaScript,yui用于内联CSS

导入com.googlecode.htmlcompressor.compressor.htmlcompressor;
导入com.googlecode.htmlcompressor.compressor.ClosureJavaScriptCompressor;
导入com.google.javascript.jscomp.compileLevel;
公共类Html{
专用静态最终HtmlCompressor压缩器=新HtmlCompressor();
静止的{
压缩器。设置换行符(假);
compressor.setCompressCss(true);
setCompressJavaScript(true);
compressor.setJavaScriptCompressor(
新的ClosureJavaScriptCompressor(仅限CompliationLevel.WHITESPACE_)
);
}
公共静态字符串缩小(字符串html){
返回压缩程序.compress(html);
}
}

唯一的问题是,如果您有一个包含空格的字符串,那么这些空格也将被删除。此外,它还将打破许多HTML格式,例如“@Suroot不,没问题。它将用一个空格替换多个空格。@sblundy但是“Hello World”将变成“Hello World”,如果是“Hello World”,这不是您想要的“是应该显示的内容。@Suroot浏览器将多个空格转换为单个空格。例如,您的两个“Hello Worlds”看起来相同。如果需要多个空格,则需要使用@nbsp;。当然,如果你在一个标记中使用多个空格进行格式化,这将是无效的。但是它也会用一个空格替换任何一个空格,不是吗?这是浪费的周期。当然,如果你在一个标记中依赖多个空格进行格式化,这将是无效的。已经在使用它了。我仍然希望有一个压缩。它必须是Java吗?它必须是免费的吗?如果你正在应用HTTP压缩,那么将HTML压缩成空白是毫无意义的——最终的结果将是如此接近,以至于与传输数据的大小无关。WS-collasing只是添加了另一个预部署步骤。
input.replaceAll("\s+", " ");