All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.schlichtherle.util.zip.CRC32Exception Maven / Gradle / Ivy

Go to download

TrueZIP is a Java based Virtual File System (VFS) to enable transparent, multi-threaded read/write access to archive files (ZIP, TAR etc.) as if they were directories. Archive files may be arbitrarily nested and the nesting level is only limited by heap and file system size.

The newest version!
/*
 * Copyright (C) 2006-2010 Schlichtherle IT Services
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package de.schlichtherle.util.zip;

import java.util.zip.ZipException;

/**
 * Thrown to indicate a CRC-32 mismatch between the declared value in the
 * Central File Header and the Data Descriptor or between the declared value
 * and the computed value from the decompressed data.
 * The prior case is detected on the call to {@link ZipFile#getCheckedInputStream},
 * whereas the latter case is detected when the input stream returned by this
 * method gets closed.
 * 

* The exception's detail message is the name of the ZIP entry. * * @author Christian Schlichtherle * @version $Id$ * @since TrueZIP 6.1 */ public class CRC32Exception extends ZipException { private static final long serialVersionUID = 1656298435298526391L; final long expectedCrc, actualCrc; /** * Creates a new instance of {@code CRC32Exception} where the * given entry name is the detail message of the base class. * * @see #getMessage * @see #getExpectedCrc * @see #getActualCrc */ CRC32Exception(String entryName, long expectedCrc, long actualCrc) { super(entryName); assert expectedCrc != actualCrc; this.expectedCrc = expectedCrc; this.actualCrc = actualCrc; } /** * Returns the CRC-32 value which has been read from the ZIP file. */ public long getExpectedCrc() { return expectedCrc; } /** * Returns the CRC-32 value which has been computed from the contents * of the ZIP entry. */ public long getActualCrc() { return actualCrc; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy