src/share/classes/jdk/nio/zipfs/ZipFileSystem.java

Print this page

        

*** 1,46 **** /* ! * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * ! * Redistribution and use in source and binary forms, with or without ! * modification, are permitted provided that the following conditions ! * are met: * ! * - Redistributions of source code must retain the above copyright ! * notice, this list of conditions and the following disclaimer. * ! * - Redistributions in binary form must reproduce the above copyright ! * notice, this list of conditions and the following disclaimer in the ! * documentation and/or other materials provided with the distribution. * ! * - Neither the name of Oracle nor the names of its ! * contributors may be used to endorse or promote products derived ! * from this software without specific prior written permission. ! * ! * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS ! * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ! * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ! * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR ! * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ! * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ! * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ! * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ! * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ! * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ! * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ ! /* ! * This source code is provided to illustrate the usage of a given feature ! * or technique and has been deliberately simplified. Additional steps ! * required for a production-quality application, such as security checks, ! * input validation and proper error handling, might not be present in ! * this sample code. ! */ ! ! ! package com.sun.nio.zipfs; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.EOFException; --- 1,31 ---- /* ! * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. ! * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * ! * This code is free software; you can redistribute it and/or modify it ! * under the terms of the GNU General Public License version 2 only, as ! * published by the Free Software Foundation. Oracle designates this ! * particular file as subject to the "Classpath" exception as provided ! * by Oracle in the LICENSE file that accompanied this code. * ! * This code is distributed in the hope that it will be useful, but WITHOUT ! * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ! * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ! * version 2 for more details (a copy is included in the LICENSE file that ! * accompanied this code). * ! * You should have received a copy of the GNU General Public License version ! * 2 along with this work; if not, write to the Free Software Foundation, ! * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * ! * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA ! * or visit www.oracle.com if you need additional information or have any ! * questions. */ ! package jdk.nio.zipfs; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.EOFException;
*** 52,61 **** --- 37,48 ---- import java.nio.MappedByteBuffer; import java.nio.channels.*; import java.nio.file.*; import java.nio.file.attribute.*; import java.nio.file.spi.*; + import java.security.AccessController; + import java.security.PrivilegedAction; import java.util.*; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.regex.Pattern; import java.util.zip.CRC32;
*** 64,85 **** import java.util.zip.InflaterInputStream; import java.util.zip.DeflaterOutputStream; import java.util.zip.ZipException; import java.util.zip.ZipError; import static java.lang.Boolean.*; ! import static com.sun.nio.zipfs.ZipConstants.*; ! import static com.sun.nio.zipfs.ZipUtils.*; import static java.nio.file.StandardOpenOption.*; import static java.nio.file.StandardCopyOption.*; /** * A FileSystem built on a zip file * * @author Xueming Shen */ ! public class ZipFileSystem extends FileSystem { private final ZipFileSystemProvider provider; private final ZipPath defaultdir; private boolean readOnly = false; private final Path zfpath; --- 51,72 ---- import java.util.zip.InflaterInputStream; import java.util.zip.DeflaterOutputStream; import java.util.zip.ZipException; import java.util.zip.ZipError; import static java.lang.Boolean.*; ! import static jdk.nio.zipfs.ZipConstants.*; ! import static jdk.nio.zipfs.ZipUtils.*; import static java.nio.file.StandardOpenOption.*; import static java.nio.file.StandardCopyOption.*; /** * A FileSystem built on a zip file * * @author Xueming Shen */ ! class ZipFileSystem extends FileSystem { private final ZipFileSystemProvider provider; private final ZipPath defaultdir; private boolean readOnly = false; private final Path zfpath;
*** 89,100 **** private final String defaultDir; // default dir for the file system private final String nameEncoding; // default encoding for name/comment private final boolean useTempFile; // use a temp file for newOS, default // is to use BAOS for better performance private final boolean createNew; // create a new zip if not exists ! private static final boolean isWindows = ! System.getProperty("os.name").startsWith("Windows"); ZipFileSystem(ZipFileSystemProvider provider, Path zfpath, Map<String, ?> env) throws IOException --- 76,88 ---- private final String defaultDir; // default dir for the file system private final String nameEncoding; // default encoding for name/comment private final boolean useTempFile; // use a temp file for newOS, default // is to use BAOS for better performance private final boolean createNew; // create a new zip if not exists ! private static final boolean isWindows = AccessController.doPrivileged( ! (PrivilegedAction<Boolean>) () -> System.getProperty("os.name") ! .startsWith("Windows")); ZipFileSystem(ZipFileSystemProvider provider, Path zfpath, Map<String, ?> env) throws IOException