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 + -
显示快捷键?