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_ATTRIBUTES
static 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 void
addIfBitSet(byte b, int pos, java.util.Set<java.nio.file.attribute.PosixFilePermission> posixFilePermissions, java.nio.file.attribute.PosixFilePermission posixFilePermissionToAdd)
private static void
applyPosixFileAttributes(java.nio.file.Path file, byte[] fileAttributes)
private static void
applyWindowsFileAttributes(java.nio.file.Path file, byte[] fileAttributes)
private static void
assertFileExists(java.io.File file)
static void
assertFilesExist(java.util.List<java.io.File> files, ZipParameters.SymbolicLinkAction symLinkAction)
private static void
assertSymbolicLinkTargetExists(java.io.File file)
static void
copyFile(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.String
getExtensionZerosPrefix(int index)
static byte[]
getFileAttributes(java.io.File file)
static java.lang.String
getFileExtension(java.io.File file)
static java.lang.String
getFileNameWithoutExtension(java.lang.String fileName)
static java.util.List<java.io.File>
getFilesInDirectoryRecursive(java.io.File path, ZipParameters zipParameters)
private static java.lang.String
getNameOfFileInZip(java.io.File fileToAdd, java.lang.String fileNameInZip)
static java.lang.String
getNextNumberedSplitFileCounterAsExtension(int index)
private static byte[]
getPosixFileAttributes(java.nio.file.Path file)
static java.lang.String
getRelativeFileName(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.String
getZipFileNameWithoutExtension(java.lang.String zipFile)
static boolean
isMac()
static boolean
isNumberedSplitFile(java.io.File file)
static boolean
isSymbolicLink(java.io.File file)
static boolean
isUnix()
static boolean
isWindows()
static boolean
isZipEntryDirectory(java.lang.String fileNameInZip)
static java.lang.String
readSymbolicLink(java.io.File file)
private static byte
setBitIfApplicable(boolean applicable, byte b, int pos)
static void
setFileAttributes(java.nio.file.Path file, byte[] fileAttributes)
static void
setFileLastModifiedTime(java.nio.file.Path file, long lastModifiedTime)
static void
setFileLastModifiedTimeWithoutNio(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)
-
-