广告
返回顶部
首页 > 资讯 > 精选 >Java压缩JavaScript代码实例
  • 570
分享到

Java压缩JavaScript代码实例

javascriptjavaavascript 2023-05-30 19:05:06 570人浏览 泡泡鱼
摘要

这篇文章主要讲解了Java压缩javascript代码实例,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。通过移除空行和注释来压缩 JavaScript 代码public class JavaScriptComp

这篇文章主要讲解了Java压缩javascript代码实例,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

通过移除空行和注释来压缩 JavaScript 代码

public class JavaScriptCompressor {private static final char LINE_FEED = \'\\n\';private static final char CARRIAGE_RETURN = \'\\r\';private static final char SPACE = \' \';private static final char TAB = \'\\t\';public static String compress(String script) {JavaScriptCompressor jsc = new JavaScriptCompressor(script);return jsc.outputBuffer.toString();}private String script;private StringBuffer outputBuffer;private int pos;private char ch;private char lastAppend;private Boolean endReached;private Boolean contentAppendedAfterLastIdentifier = true;private JavaScriptCompressor(String script) {this.script = script;outputBuffer = new StringBuffer(script.length());nextchar();while (!endReached) {if (Character.isJavaidentifierStart(ch)) {renderIdentifier();} else if (ch == \' \') {skipWhiteSpace();} else if (isWhitespace()) {// Compress whitespaceskipWhiteSpace();} else if ((ch == \'\"\') || (ch == \'\\\'\')) {        // Handle strings        renderString();      } else if (ch == \'/\') {        // Handle comments        nextChar();        if (ch == \'/\') {          nextChar();          skipLineComment();        } else if (ch == \'*\') {          nextChar();          skipBlockComment();        } else {          append(\'/\');        }      } else {        append(ch);        nextChar();      }    }  }    private void append(char ch) {    lastAppend = ch;    outputBuffer.append(ch);    contentAppendedAfterLastIdentifier = true;  }    private boolean isWhitespace() {    return ch == CARRIAGE_RETURN || ch == SPACE || ch == TAB || ch == LINE_FEED;      }    private void nextChar() {    if (!endReached) {      if (pos < script.length()) {        ch = script.charAt(pos++);      } else {        endReached = true;        ch = 0;      }    }  }    private void renderIdentifier() {    if (!contentAppendedAfterLastIdentifier)      append(SPACE);    append(ch);    nextChar();    while (Character.isJavaIdentifierPart(ch)) {      append(ch);      nextChar();    }    contentAppendedAfterLastIdentifier = false;  }    private void renderString() {    char startCh = ch; // Save quote char    append(ch);    nextChar();    while (true) {      if ((ch == LINE_FEED) || (ch == CARRIAGE_RETURN) || (endReached)) {        // JavaScript error: string not terminated        return;      } else {        if (ch == \'\\\\\') {          append(ch);          nextChar();          if ((ch == LINE_FEED) || (ch == CARRIAGE_RETURN) || (endReached)) {            // JavaScript error: string not terminated            return;          }          append(ch);          nextChar();        } else {          append(ch);          if (ch == startCh) {            nextChar();            return;          }          nextChar();        }      }    }  }    private void skipLineComment() {    while ((ch != CARRIAGE_RETURN) && (ch != LINE_FEED)) {      if (endReached) {        return;      }      nextChar();    }  }    private void skipBlockComment() {    while (true) {      if (endReached) {        return;      }      if (ch == \'*\') {        nextChar();        if (ch == \'/\') {          nextChar();          return;        }      } else        nextChar();    }  }    private void renderNewLine() {    if (lastAppend != \'\\n\' && lastAppend != \'\\r\') {      append(\'\\n\');    }  }    private void skipWhiteSpace() {    if (ch == LINE_FEED || ch == CARRIAGE_RETURN) {      renderNewLine();    } else {      append(ch);    }    nextChar();    while (ch == LINE_FEED || ch == CARRIAGE_RETURN || ch == SPACE || ch == TAB) {      if (ch == LINE_FEED || ch == CARRIAGE_RETURN) {        renderNewLine();      }      nextChar();    }  }}

--结束END--

本文标题: Java压缩JavaScript代码实例

本文链接: https://www.lsjlt.com/news/220506.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java压缩JavaScript代码实例
    这篇文章主要讲解了Java压缩JavaScript代码实例,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。通过移除空行和注释来压缩 JavaScript 代码public class JavaScriptComp...
    99+
    2023-05-30
    javascript java avascript
  • Android中文件的压缩和解压缩实例代码
    使用场景 当我们在应用的Assets目录中需要加入文件时,可以直接将源文件放入,但这样会造成打包后的apk整体过大,此时就需要将放入的文件进行压缩.又如当我们需要从服务器中下载...
    99+
    2022-06-06
    压缩 解压 Android
  • Java 实现LZ78压缩算法的示例代码
    LZ78 压缩算法的 Java 实现 1、压缩算法的实现 通过多路搜索树提高检索速度 package com.wretchant.lz78; import java.util....
    99+
    2022-11-12
  • C#实现批量压缩和解压缩的示例代码
    目录实践过程效果代码实践过程 效果 代码 public partial class Form1 : Form { public Form1() { ...
    99+
    2022-12-26
    C#压缩 解压缩 C#压缩 C# 解压缩
  • PythonFlask实现HTML文件压缩案例代码(9级压缩)
    目录 第三方库 Flask-compress 配合 render_template() 函数实现压缩 Flask-compress 实例化时的其他参数 flask-compress ...
    99+
    2023-01-29
    Python Flask 实现 HTML 文件压缩 Python HTML 文件压缩 Python 文件压缩
  • CSS压缩与CSS代码压缩还原的示例分析
    这篇文章将为大家详细讲解有关CSS压缩与CSS代码压缩还原的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 紧缩后的CSS代码如何快捷排版好以便于再编纂在批改。...
    99+
    2022-10-19
  • Javascript代码是怎样被压缩的
    Javascript代码是怎样被压缩的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。随着前端的发展,特别是 React,Vue 等构造单页...
    99+
    2022-10-19
  • Javascript代码是如何被压缩的
    今天就跟大家聊聊有关Javascript代码是如何被压缩的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。随着前端的发展,特别是 React,Vue ...
    99+
    2022-10-19
  • Java实现把文件压缩成zip文件的示例代码
    实现代码 ackage org.fh.util; import java.io.File; import java.io.FileInputStream; import java....
    99+
    2022-11-13
  • C#实现无损压缩图片代码示例
    一般在web应用中,对客户端提交上来的图片肯定需要进行压缩的。尤其是比较大的图片,如果不经过压缩会导致页面变的很大,打开速度比较慢,影响用户体验,所以一般会将图片进行压缩。 代码实现...
    99+
    2022-11-13
  • Linux shell实现压缩多个文件代码实例
    Linux环境下写一个脚本 从键盘让用户输入几个文件,脚本能够将此几个文件归档压缩成一个文件: 1.首先介绍一下case语句格式 2.脚本如下: DEST读取的是压缩后文件的名称,COMP读取的是压缩的方式 给文件...
    99+
    2022-06-03
    Linux shell 压缩 文件
  • Android图片实现压缩处理的实例代码
    整理文档,搜刮出一个Android图片实现压缩处理的实例代码,稍微整理精简一下做下分享。详解:获取本地图片File文件 获取BitmapFactory.Options对象 计算原始图片 目标图片宽高比 计算输出的图片宽高根据...
    99+
    2023-05-30
    android 图片 压缩
  • java压缩乱码
    java压缩乱码通常用java来打包文件生成压缩文件后会出现内容的中文乱码问题,这个问题网上很多人给出了解决方法,主要有两种方法:一是修改sun的源码;二是使用开源的类库org.apache.tools.zip.ZipOutputStrea...
    99+
    2019-09-13
    java基础 java 压缩乱码
  • Python批量解压&压缩文件夹的示例代码
    目录一、python批量解压二、python批量压缩一、python批量解压 提示:如果是重要数据解压前请先备份,解压后会覆盖原压缩文件!! 解压前: 解压后:文件名为英文: 文...
    99+
    2022-11-13
  • 如何压缩html代码
    小编给大家分享一下如何压缩html代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如何压缩html代码,让html文件缩小优化...
    99+
    2022-10-19
  • CSS压缩与CSS代码压缩还原的方法
    本文小编为大家详细介绍“CSS压缩与CSS代码压缩还原的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS压缩与CSS代码压缩还原的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学...
    99+
    2022-10-19
  • vbs实现zip压缩与unzip解压缩函数的代码分享
    本篇内容主要讲解“vbs实现zip压缩与unzip解压缩函数的代码分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vbs实现zip压缩与unzip解压缩函数的代码分享”吧!压缩代码: 复制代码...
    99+
    2023-06-08
  • Linux gzip命令压缩文件实现原理及代码实例
    gzip 是 Linux 系统中经常用来对文件进行压缩和解压缩的命令,通过此命令压缩得到的新文件,其扩展名通常标记为“.gz”。 再强调一下,gzip 命令只能用来压缩文件,不能压缩目录,即便指定了目录,也只能压缩目...
    99+
    2022-06-03
    Linux gzip命令 压缩文件
  • java中zip压缩乱码解决方法(附代码)
    用java来打包文件生成压缩文件,有两个地方会出现乱码(推荐:java基础教程)内容的中文乱码问题,这个问题网上很多人给出了解决方法,两种:修改sun的源码;使用开源的类库org.apache.tools.zip.ZipOutputStre...
    99+
    2020-12-29
    java
  • 利用Java实现zip压缩/解压缩 (转)
    利用Java实现zip压缩/解压缩 (转)[@more@]利用Java实现zip压缩/解压缩---摘自互联网  由于网络带宽有限,所以数据文件的压缩有利于数据在Inte.NET上的快速传输,同时也节 省服务器的外存空间。   Java 1....
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作