attila@963: /* attila@963: * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. attila@963: * attila@963: * Redistribution and use in source and binary forms, with or without attila@963: * modification, are permitted provided that the following conditions attila@963: * are met: attila@963: * attila@963: * - Redistributions of source code must retain the above copyright attila@963: * notice, this list of conditions and the following disclaimer. attila@963: * attila@963: * - Redistributions in binary form must reproduce the above copyright attila@963: * notice, this list of conditions and the following disclaimer in the attila@963: * documentation and/or other materials provided with the distribution. attila@963: * attila@963: * - Neither the name of Oracle nor the names of its attila@963: * contributors may be used to endorse or promote products derived attila@963: * from this software without specific prior written permission. attila@963: * attila@963: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS attila@963: * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, attila@963: * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR attila@963: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR attila@963: * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, attila@963: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, attila@963: * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR attila@963: * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF attila@963: * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING attila@963: * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS attila@963: * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. attila@963: */ attila@963: attila@963: if (arguments.length == 0) { attila@963: print("Usage: jjs zipfs.js -- <.zip/.jar file>") attila@963: exit(1) attila@963: } attila@963: attila@963: var Files = Java.type("java.nio.file.Files") attila@963: var FileSystems = Java.type("java.nio.file.FileSystems") attila@963: var Paths = Java.type("java.nio.file.Paths") attila@963: attila@963: var zipfile = Paths.get(arguments[0]) attila@963: var fs = FileSystems.newFileSystem(zipfile, null) attila@963: var root = fs.rootDirectories[0] sundar@1531: Files.walk(root).forEach( attila@963: function(p) (print(p), print(Files.readAttributes(p, "zip:*"))) attila@963: ) attila@963: fs.close()