compress.java

来自「Java P2P技术内幕:《Java P2P技术内幕》源码」· Java 代码 · 共 70 行

JAVA
70
字号
package net.jxta.impl.shell.bin.compress;import net.jxta.impl.shell.ShellApp;import net.jxta.impl.shell.ShellObject;import net.jxta.impl.shell.ShellEnv;import net.jxta.endpoint.Message;import net.jxta.endpoint.MessageElement;import net.jxta.endpoint.MessageElementEnumeration;import net.jxta.document.StructuredDocument;import net.jxta.pipe.InputPipe;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.zip.ZipOutputStream;import java.util.zip.ZipEntry;public class compress extends ShellApp {    public int startApp(String[] argv) {        if (argv.length == 1) {            try {                Message mes = inputPipe.waitForMessage();                FileOutputStream os = new FileOutputStream(argv[0] + ".zip");                ZipOutputStream zipStream = new ZipOutputStream(os);                MessageElementEnumeration en = mes.getElements();                while (en.hasMoreElements()) {                    MessageElement element = (MessageElement) en.nextElement();                    ZipEntry entry = new ZipEntry(element.getName());                    zipStream.putNextEntry(entry);                    byte[] content = element.getBytesOffset();                    zipStream.write(content, 0, content.length);                    zipStream.closeEntry();                }                zipStream.close();                os.close();            } catch (InterruptedException e) {            } catch (IOException e) {                e.printStackTrace();                return ShellApp.appMiscError;            }        } else {            return ShellApp.appParamError;        }        return ShellApp.appNoError;    }    public String getDescription() {        return "A message compression utility";    }    public void help() {        println("NAME");        println("     compress --compress a message ");        println("     from the input stream and write it to file.");    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?