JavaScriptCompressor.compress(s, s1)

12 views
Skip to first unread message

Sutra Zhou

unread,
Feb 17, 2008, 1:29:50 AM2/17/08
to js...@googlegroups.com
大家好,
        JavaScriptCompressor jscompressor = JSIToolkit.getInstance()
                .getCompressorImpl();
        jscompressor.compress(s, s1)
请问参数s和s1分别代表什么含义。
另外还有 compress(String s, String s1, boolean flag, boolean flag1) 的 flag和flag1分别代表什么?

(我在把它做成一个命令行工具以便我的批处理程序可以调用它。)

Sutra

Sutra Zhou

unread,
Feb 17, 2008, 3:49:36 AM2/17/08
to js...@googlegroups.com
经过尝试,写了下面的代码,可以用了:

import java.io.File;
import java.io.IOException;
import java.io.PrintStream;

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.SystemUtils;
import org.xidea.jsi.tools.JSIToolkit;
import org.xidea.jsi.tools.JavaScriptCompressor;

/**
 * @author Sutra
 *
 */
public class JavaScriptCompress {
    public static void main(String[] args) throws IOException {
        Options options = new Options();
        Option option = new Option("i", "input", true, "javascript file path");
        option.setRequired(true);
        options.addOption(option);
        option = new Option("e", "encoding", true, "encoding");
        option.setRequired(false);
        options.addOption(option);
        CommandLineParser parser = new PosixParser();
        CommandLine cmd;
        try {
            cmd = parser.parse(options, args);
        } catch (ParseException e) {
            usage(options);
            return;
        }
        String file = cmd.getOptionValue('i');
        String encoding = SystemUtils.FILE_ENCODING;
        if (cmd.hasOption('e')) {
            encoding = cmd.getOptionValue('e');

        }

        JavaScriptCompressor jscompressor = JSIToolkit.getInstance()
                .getCompressorImpl();
        String source = FileUtils.readFileToString(new File(file), encoding);
        PrintStream out = System.out;
        System.setOut(new PrintStream(new java.io.ByteArrayOutputStream()));
        String ret = jscompressor.compress(source, null, true, false);
        out.println(ret);
    }

    private static void usage(Options options) {
        HelpFormatter formatter = new HelpFormatter();
        formatter.printHelp("jscompress", options);
    }
}

不知道作者是不是已经提供了命令行的接口?

在08-2-17,Sutra Zhou <zhous...@gmail.com> 写道:

SleepMaster

unread,
Feb 17, 2008, 8:17:29 AM2/17/08
to jsier
不是提供了ant脚本方式吗?
建议Sutra Zhou 说明您的需求
> 在08-2-17,Sutra Zhou <zhoushu...@gmail.com> 写道:

zhous...@gmail.com

unread,
Feb 17, 2008, 9:15:14 AM2/17/08
to js...@googlegroups.com
我不想用ant。我就想用命令行,因为我需要写在bat或者shell中。
我已经实现了,谢谢。

> --~--~---------~--~----~------------~-------~--~----~
> 您收到此信息是由于您订阅了 Google 论坛“jsier”论坛。
> 要在此论坛发帖,请发电子邮件到 js...@googlegroups.com
> 要退订此论坛,请发邮件至 jsier-un...@googlegroups.com
> 更多选项,请通过 http://groups.google.com/group/jsier?hl=zh-CN 访问该论坛
> -~----------~----~----~----~------~----~------~--~---
>


--
Sutra Zhou

jindw

unread,
Feb 21, 2008, 7:08:22 AM2/21/08
to jsier
新版本的JSA正在开发,这些老的接口就先不要讨论了,新的接口会更加简单.
估计在3月初发布吧.
> Sutra Zhou
>
> application_pgp-signature_part
> 1KDownload
Reply all
Reply to author
Forward
0 new messages