Package org.nuxeo.common.utils
Class ZipUtils
- java.lang.Object
-
- org.nuxeo.common.utils.ZipUtils
-
public final class ZipUtils extends Object
- Author:
- bstefanescu
-
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static void_putDirectoryEntry(String entryName, ZipOutputStream out)static void_putFileEntry(File file, String entryName, ZipOutputStream out)static void_zip(File[] files, ZipOutputStream out, String prefix)static void_zip(String entryName, File file, ZipOutputStream out)static void_zip(String entryName, InputStream in, ZipOutputStream out)static byte[]getEntryContentAsBytes(File file, String entryName)Deprecated.since 10.1 (unused and fails to close a ZipFile)static byte[]getEntryContentAsBytes(InputStream stream, String searchedEntryName)static byte[]getEntryContentAsBytes(URL url, String entryName)static InputStreamgetEntryContentAsStream(File file, String entryName)Deprecated.since 10.1 (unused and fails to close a ZipFile)static InputStreamgetEntryContentAsStream(InputStream stream, String entryName)static InputStreamgetEntryContentAsStream(URL url, String entryName)static StringgetEntryContentAsString(File file, String entryName)Deprecated.since 10.1 (unused and fails to close a ZipFile)static StringgetEntryContentAsString(InputStream stream, String searchedEntryName)static StringgetEntryContentAsString(URL url, String entryName)static List<String>getEntryNames(File file)Lists the entries on the zip file.static List<String>getEntryNames(InputStream stream)static List<String>getEntryNames(URL url)static booleanhasEntry(File file, String entryName)Checks if a zip file contains a specified entry name.static booleanhasEntry(InputStream stream, String entryName)static booleanhasEntry(URL url, String entryName)static booleanisValid(InputStream stream)Checks if the content of theInputStreamis a valid zip.protected static StringnormalizePrefix(String prefix)static voidunzip(File zip, File dir)static voidunzip(File zip, File dir, PathFilter filter)static voidunzip(InputStream zipStream, File dir)static voidunzip(String prefix, File zip, File dir)static voidunzip(String prefix, File zip, File dir, PathFilter filter)static voidunzip(String prefix, InputStream zipStream, File dir)static voidunzip(String prefix, URL zip, File dir)static voidunzip(String prefix, ZipInputStream in, File dir)static voidunzip(String prefix, ZipInputStream in, File dir, PathFilter filter)static voidunzip(URL zip, File dir)static voidunzip(ZipInputStream in, File dir)static voidunzip(ZipInputStream in, File dir, PathFilter filter)static voidunzipIgnoreDirs(InputStream zipStream, File dir)static voidunzipIgnoreDirs(ZipInputStream in, File dir)static voidzip(File[] files, File zip)static voidzip(File[] files, File zip, String prefix)static voidzip(File[] files, OutputStream out, String prefix)static voidzip(File file, File zip)static voidzip(File file, File zip, String prefix)static voidzip(File file, OutputStream out, String prefix)static voidzipFilesUsingPrefix(String prefix, File[] files, OutputStream out)
-
-
-
Method Detail
-
_putDirectoryEntry
public static void _putDirectoryEntry(String entryName, ZipOutputStream out) throws IOException
- Throws:
IOException
-
_putFileEntry
public static void _putFileEntry(File file, String entryName, ZipOutputStream out) throws IOException
- Throws:
IOException
-
_zip
public static void _zip(String entryName, InputStream in, ZipOutputStream out) throws IOException
- Throws:
IOException
-
_zip
public static void _zip(String entryName, File file, ZipOutputStream out) throws IOException
- Throws:
IOException
-
_zip
public static void _zip(File[] files, ZipOutputStream out, String prefix) throws IOException
- Throws:
IOException
-
zip
public static void zip(File file, OutputStream out, String prefix) throws IOException
- Throws:
IOException
-
normalizePrefix
protected static String normalizePrefix(String prefix)
- Returns:
- the empty string if prefix is null or empty, otherwise append a '/' at the end if needed
-
zip
public static void zip(File[] files, OutputStream out, String prefix) throws IOException
- Throws:
IOException
-
zip
public static void zip(File file, File zip) throws IOException
- Throws:
IOException
-
zip
public static void zip(File[] files, File zip) throws IOException
- Throws:
IOException
-
zip
public static void zip(File file, File zip, String prefix) throws IOException
- Throws:
IOException
-
zip
public static void zip(File[] files, File zip, String prefix) throws IOException
- Throws:
IOException
-
zipFilesUsingPrefix
public static void zipFilesUsingPrefix(String prefix, File[] files, OutputStream out) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(String prefix, InputStream zipStream, File dir) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(InputStream zipStream, File dir) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(String prefix, URL zip, File dir) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(URL zip, File dir) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(String prefix, File zip, File dir) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(File zip, File dir) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(String prefix, ZipInputStream in, File dir) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(ZipInputStream in, File dir) throws IOException
- Throws:
IOException
-
unzipIgnoreDirs
public static void unzipIgnoreDirs(ZipInputStream in, File dir) throws IOException
- Throws:
IOException
-
unzipIgnoreDirs
public static void unzipIgnoreDirs(InputStream zipStream, File dir) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(File zip, File dir, PathFilter filter) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(ZipInputStream in, File dir, PathFilter filter) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(String prefix, File zip, File dir, PathFilter filter) throws IOException
- Throws:
IOException
-
unzip
public static void unzip(String prefix, ZipInputStream in, File dir, PathFilter filter) throws IOException
- Throws:
IOException
-
getEntryContentAsStream
@Deprecated public static InputStream getEntryContentAsStream(File file, String entryName) throws IOException
Deprecated.since 10.1 (unused and fails to close a ZipFile)Unzip directly the entry. The returned InputStream has to be closed.- Parameters:
file- the source fileentryName- the entry name that has to be extracted- Returns:
- the input stream of the desired entry - has to be closed by the caller, or null if not found
- Throws:
IOException
-
getEntryContentAsString
@Deprecated public static String getEntryContentAsString(File file, String entryName) throws IOException
Deprecated.since 10.1 (unused and fails to close a ZipFile)Unzip directly the entry.- Parameters:
file- the source fileentryName- the entry name that has to be extracted- Returns:
- the String content of the entry with name entryName
- Throws:
IOException
-
getEntryContentAsBytes
@Deprecated public static byte[] getEntryContentAsBytes(File file, String entryName) throws IOException
Deprecated.since 10.1 (unused and fails to close a ZipFile)Unzips directly the entry.- Parameters:
file- the source fileentryName- the entry name that has to be extracted- Returns:
- The byte array content of the entry with name entryName
- Throws:
IOException
-
getEntryNames
public static List<String> getEntryNames(File file) throws IOException
Lists the entries on the zip file.- Parameters:
file- The zip file- Returns:
- The list of entries
- Throws:
IOException
-
hasEntry
public static boolean hasEntry(File file, String entryName) throws IOException
Checks if a zip file contains a specified entry name.- Parameters:
file- the zip fileentryName- The content to be checked- Returns:
- True if the file contains entryName. False otherwise
- Throws:
IOException
-
getEntryContentAsStream
public static InputStream getEntryContentAsStream(InputStream stream, String entryName) throws IOException
- Throws:
IOException
-
getEntryContentAsString
public static String getEntryContentAsString(InputStream stream, String searchedEntryName) throws IOException
- Throws:
IOException
-
getEntryContentAsBytes
public static byte[] getEntryContentAsBytes(InputStream stream, String searchedEntryName) throws IOException
- Throws:
IOException
-
getEntryNames
public static List<String> getEntryNames(InputStream stream) throws IOException
- Throws:
IOException
-
hasEntry
public static boolean hasEntry(InputStream stream, String entryName) throws IOException
- Throws:
IOException
-
getEntryContentAsStream
public static InputStream getEntryContentAsStream(URL url, String entryName) throws IOException
- Throws:
IOException
-
getEntryContentAsString
public static String getEntryContentAsString(URL url, String entryName) throws IOException
- Throws:
IOException
-
getEntryContentAsBytes
public static byte[] getEntryContentAsBytes(URL url, String entryName) throws IOException
- Throws:
IOException
-
getEntryNames
public static List<String> getEntryNames(URL url) throws IOException
- Throws:
IOException
-
hasEntry
public static boolean hasEntry(URL url, String entryName) throws IOException
- Throws:
IOException
-
isValid
public static boolean isValid(InputStream stream)
Checks if the content of theInputStreamis a valid zip. The method does not close the stream.- Parameters:
stream- theInputStreamto be validated- Returns:
- true if the
InputStreamis a valid zip, false otherwise
-
-