Package net.lingala.zip4j.util
Class FileUtils
- java.lang.Object
-
- net.lingala.zip4j.util.FileUtils
-
public class FileUtils extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static byte[]DEFAULT_POSIX_FILE_ATTRIBUTESstatic byte[]DEFAULT_POSIX_FOLDER_ATTRIBUTES
-
Constructor Summary
Constructors Constructor Description FileUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static voidaddIfBitSet(byte b, int pos, java.util.Set<java.nio.file.attribute.PosixFilePermission> posixFilePermissions, java.nio.file.attribute.PosixFilePermission posixFilePermissionToAdd)private static voidapplyPosixFileAttributes(java.nio.file.Path file, byte[] fileAttributes)private static voidapplyWindowsFileAttributes(java.nio.file.Path file, byte[] fileAttributes)private static voidassertFileExists(java.io.File file)static voidassertFilesExist(java.util.List<java.io.File> files, ZipParameters.SymbolicLinkAction symLinkAction)private static voidassertSymbolicLinkTargetExists(java.io.File file)static voidcopyFile(java.io.RandomAccessFile randomAccessFile, java.io.OutputStream outputStream, long start, long end, ProgressMonitor progressMonitor, int bufferSize)static java.io.File[]getAllSortedNumberedSplitFiles(java.io.File firstNumberedFile)A helper method to retrieve all split files which are of the format split by 7-zip, i.e, .zip.001, .zip.002, etc.static byte[]getDefaultFileAttributes(boolean isDirectory)private static java.lang.StringgetExtensionZerosPrefix(int index)static byte[]getFileAttributes(java.io.File file)static java.lang.StringgetFileExtension(java.io.File file)static java.lang.StringgetFileNameWithoutExtension(java.lang.String fileName)static java.util.List<java.io.File>getFilesInDirectoryRecursive(java.io.File path, ZipParameters zipParameters)private static java.lang.StringgetNameOfFileInZip(java.io.File fileToAdd, java.lang.String fileNameInZip)static java.lang.StringgetNextNumberedSplitFileCounterAsExtension(int index)private static byte[]getPosixFileAttributes(java.nio.file.Path file)static java.lang.StringgetRelativeFileName(java.io.File fileToAdd, ZipParameters zipParameters)static java.util.List<java.io.File>getSplitZipFiles(ZipModel zipModel)private static byte[]getWindowsFileAttributes(java.nio.file.Path file)static java.lang.StringgetZipFileNameWithoutExtension(java.lang.String zipFile)static booleanisMac()static booleanisNumberedSplitFile(java.io.File file)static booleanisSymbolicLink(java.io.File file)static booleanisUnix()static booleanisWindows()static booleanisZipEntryDirectory(java.lang.String fileNameInZip)static java.lang.StringreadSymbolicLink(java.io.File file)private static bytesetBitIfApplicable(boolean applicable, byte b, int pos)static voidsetFileAttributes(java.nio.file.Path file, byte[] fileAttributes)static voidsetFileLastModifiedTime(java.nio.file.Path file, long lastModifiedTime)static voidsetFileLastModifiedTimeWithoutNio(java.io.File file, long lastModifiedTime)
-
-
-
Method Detail
-
setFileAttributes
public static void setFileAttributes(java.nio.file.Path file, byte[] fileAttributes)
-
setFileLastModifiedTime
public static void setFileLastModifiedTime(java.nio.file.Path file, long lastModifiedTime)
-
setFileLastModifiedTimeWithoutNio
public static void setFileLastModifiedTimeWithoutNio(java.io.File file, long lastModifiedTime)
-
getFileAttributes
public static byte[] getFileAttributes(java.io.File file)
-
getFilesInDirectoryRecursive
public static java.util.List<java.io.File> getFilesInDirectoryRecursive(java.io.File path, ZipParameters zipParameters) throws ZipException- Throws:
ZipException
-
getFileNameWithoutExtension
public static java.lang.String getFileNameWithoutExtension(java.lang.String fileName)
-
getZipFileNameWithoutExtension
public static java.lang.String getZipFileNameWithoutExtension(java.lang.String zipFile) throws ZipException- Throws:
ZipException
-
getSplitZipFiles
public static java.util.List<java.io.File> getSplitZipFiles(ZipModel zipModel) throws ZipException
- Throws:
ZipException
-
getRelativeFileName
public static java.lang.String getRelativeFileName(java.io.File fileToAdd, ZipParameters zipParameters) throws ZipException- Throws:
ZipException
-
getNameOfFileInZip
private static java.lang.String getNameOfFileInZip(java.io.File fileToAdd, java.lang.String fileNameInZip) throws java.io.IOException- Throws:
java.io.IOException
-
isZipEntryDirectory
public static boolean isZipEntryDirectory(java.lang.String fileNameInZip)
-
copyFile
public static void copyFile(java.io.RandomAccessFile randomAccessFile, java.io.OutputStream outputStream, long start, long end, ProgressMonitor progressMonitor, int bufferSize) throws ZipException- Throws:
ZipException
-
assertFilesExist
public static void assertFilesExist(java.util.List<java.io.File> files, ZipParameters.SymbolicLinkAction symLinkAction) throws ZipException- Throws:
ZipException
-
isNumberedSplitFile
public static boolean isNumberedSplitFile(java.io.File file)
-
getFileExtension
public static java.lang.String getFileExtension(java.io.File file)
-
getAllSortedNumberedSplitFiles
public static java.io.File[] getAllSortedNumberedSplitFiles(java.io.File firstNumberedFile)
A helper method to retrieve all split files which are of the format split by 7-zip, i.e, .zip.001, .zip.002, etc. This method also sorts all the files by their split part- Parameters:
firstNumberedFile- - first split file- Returns:
- sorted list of split files. Returns an empty list if no files of that pattern are found in the current directory
-
getNextNumberedSplitFileCounterAsExtension
public static java.lang.String getNextNumberedSplitFileCounterAsExtension(int index)
-
isSymbolicLink
public static boolean isSymbolicLink(java.io.File file)
-
readSymbolicLink
public static java.lang.String readSymbolicLink(java.io.File file)
-
getDefaultFileAttributes
public static byte[] getDefaultFileAttributes(boolean isDirectory)
-
isWindows
public static boolean isWindows()
-
isMac
public static boolean isMac()
-
isUnix
public static boolean isUnix()
-
getExtensionZerosPrefix
private static java.lang.String getExtensionZerosPrefix(int index)
-
applyWindowsFileAttributes
private static void applyWindowsFileAttributes(java.nio.file.Path file, byte[] fileAttributes)
-
applyPosixFileAttributes
private static void applyPosixFileAttributes(java.nio.file.Path file, byte[] fileAttributes)
-
getWindowsFileAttributes
private static byte[] getWindowsFileAttributes(java.nio.file.Path file)
-
assertFileExists
private static void assertFileExists(java.io.File file) throws ZipException- Throws:
ZipException
-
assertSymbolicLinkTargetExists
private static void assertSymbolicLinkTargetExists(java.io.File file) throws ZipException- Throws:
ZipException
-
getPosixFileAttributes
private static byte[] getPosixFileAttributes(java.nio.file.Path file)
-
setBitIfApplicable
private static byte setBitIfApplicable(boolean applicable, byte b, int pos)
-
addIfBitSet
private static void addIfBitSet(byte b, int pos, java.util.Set<java.nio.file.attribute.PosixFilePermission> posixFilePermissions, java.nio.file.attribute.PosixFilePermission posixFilePermissionToAdd)
-
-