MCPcopy Create free account
hub / github.com/annmuor/jnode / unpack

Method unpack

jnode-core/src/jnode/ftn/FtnTools.java:607–643  ·  view source on GitHub ↗

Распаковка из зип-архива @param message @return

(Message message)

Source from the content-addressed store, hash-verified

605 * @return
606 */
607 public static void unpack(Message message) throws IOException {
608 String filename = message.getMessageName().toLowerCase();
609 if (filename.matches("^[a-f0-9]{8}\\.pkt$")) {
610 File out = createInboundFile(message.isSecure());
611 FileOutputStream fos = new FileOutputStream(out);
612 int len = 0;
613 do {
614 byte[] buf = new byte[1024];
615 len = message.getInputStream().read(buf);
616 if (len > 0) {
617 fos.write(buf, 0, len);
618 }
619 } while (len > 0);
620 fos.close();
621 } else if (filename
622 .matches("^\\w{8}\\.(mo|tu|we|th|fr|sa|su)[0-9a-z]$")) {
623 unpackBundle(message);
624 } else if (message.isSecure()) {
625 File f = guessFilename(filename, false);
626 if (f != null) {
627 FileOutputStream fos = new FileOutputStream(f);
628 int len = 0;
629 do {
630 byte[] buf = new byte[1024];
631 len = message.getInputStream().read(buf);
632 if (len > 0) {
633 fos.write(buf, 0, len);
634 }
635 } while (len > 0);
636 fos.close();
637 logger.l3("File saved " + f.getAbsolutePath() + " ("
638 + f.length() + ")");
639 }
640 } else {
641 logger.l2("File rejected via unsecure " + filename);
642 }
643 }
644
645 protected static void unpackBundle(Message message) throws IOException {
646 logger.l4("Unpacking " + message.getMessageName());

Callers 1

moveToBadMethod · 0.95

Calls 10

createInboundFileMethod · 0.95
unpackBundleMethod · 0.95
guessFilenameMethod · 0.95
getMessageNameMethod · 0.80
isSecureMethod · 0.80
readMethod · 0.80
getInputStreamMethod · 0.80
l3Method · 0.80
l2Method · 0.80
writeMethod · 0.45

Tested by

no test coverage detected