Package arcommon
Class FileUtil
- java.lang.Object
-
- arcommon.FileUtil
-
public class FileUtil extends java.lang.Object
A collection of miscellaneous file IO methods.
Terminology in naming is as follows:
Directory: The directory with its content (Name, number of files, last modified...), but not the path to the directory. Typically not aString, but the directory name (without its path) is aString.
Path: The path to a directory. AStringcontaining a list of directory name separated byFile.separator. Must typically end with aFile.separator.
File name: AStringcontaining the name of a file. May contain the path to the directory, where the file is placed. Must not end with aFile.separator.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFileUtil.DeleteDirectoryDatastatic classFileUtil.DirectoryTreestatic classFileUtil.FILE_SYSTEMThis method will return the file system of path.static classFileUtil.FilterDatastatic interfaceFileUtil.LineReadInterfacestatic classFileUtil.LockFilestatic classFileUtil.Newlinestatic classFileUtil.WriteUsingTempFileAction
-
Field Summary
Fields Modifier and Type Field Description static longCOMPARE_ERRORstatic longCOPY_IN_LENGTH_UNKNOWNstatic java.lang.StringDEFAULT_TEMP_FILE_PREFIXstatic java.lang.StringLINUX_TEMP_PATHstatic java.lang.StringMAC_TEMP_PATHstatic intMAXIMUM_WINDOWS_FILE_NAME_LENGTHstatic intREAD_NO_MAXIMUM_NUMBER_OF_BYTESstatic booleanwarnIfBomHeaderRemovedstatic java.lang.StringWINDOWS_TEMP_PATH
-
Constructor Summary
Constructors Constructor Description FileUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringaddDirectorySeparatorToPath(java.lang.String path)static java.lang.StringcalculateAbsoluteFileName(java.lang.String fileName)Returns the absolute file name of fileName relative to current directory.static java.lang.StringcalculateAbsoluteFileName(java.lang.String basePath, java.lang.String fileName)Returns the absolute file name of fileName relative to basePath.static java.lang.StringcalculateAbsolutePath(java.lang.String path)Returns the absolute path name of path relative to current directory.static java.lang.StringcalculateAbsolutePath(java.lang.String basePath, java.lang.String path)Returns the absolute path name of path relative to basePath.static java.util.List<java.lang.String>calculateAllDirectoryNames(java.lang.String fileName)static java.lang.StringcalculateDriveName(java.lang.String fileName)static java.lang.StringcalculateExtension(java.lang.String fileName)static java.lang.StringcalculateExtension(java.lang.String fileName, boolean withDot)static java.lang.StringcalculateFileName(java.lang.String fileName)static java.lang.StringcalculateFileNameNoExtension(java.lang.String fileName)static java.lang.StringcalculateFileNameNoIO(java.lang.String fileName)static FileUtil.FILE_SYSTEMcalculateFileSystemType(java.lang.String path)This method will calculate the file system of path (in a very hacky way) and return it.static FileUtil.FilterDatacalculateFilter(java.lang.String path, boolean caseSensitive)static java.lang.StringcalculateLastDirectoryName(java.lang.String fileName)static java.lang.StringcalculateLastDirectoryNameNoIO(java.lang.String fileName)static java.lang.StringcalculateNumberedFileName(java.lang.String path, java.lang.String fileName, int number)static java.lang.StringcalculateParentPathFromPath(java.lang.String path)static java.lang.StringcalculatePath(java.lang.String fileName)static java.lang.StringcalculatePathNoIO(java.lang.String fileName)static booleancanFilesInDirectoryBeMarkedExecutable(java.lang.String path)static voidcheckFileNameLengthAndWarn(java.lang.String fileName)static booleancheckForExistsAndWarm(java.lang.String fileName)static voidcheckForTempFiles(java.util.List<java.lang.String> fileNames)static booleancheckWriteAccess(java.lang.String fileName)Check for write access using the creation of an actual file.static booleancompareFiles(java.lang.String fileName1, java.lang.String fileName2)static longcompareFilesEqualsBytes(java.lang.String fileName1, java.lang.String fileName2)Compares the two files.static java.lang.StringconvertTo8Dot3(java.lang.String fileName)static booleancopy(java.io.BufferedInputStream in, long inLength, java.lang.String toFileName, boolean overwriteOnExists, boolean throwOnFail)static voidcopy(java.lang.String fromFileName, java.lang.String toFileName)static voidcopy(java.lang.String fromFileName, java.lang.String toFileName, boolean overwriteOnExists)static booleancopy(java.lang.String fromFileName, java.lang.String toFileName, boolean overwriteOnExists, boolean copyLastModified, boolean throwOnFail)static voidcopyDirectoryTree(java.lang.String fromPath, java.lang.String toPath, boolean echo)static voidcopyDirectoryTree(java.lang.String fromPath, java.lang.String toPath, boolean echo, boolean overwriteOnExists)static booleancopyDirectoryTree(java.lang.String fromPath, java.lang.String toPath, boolean echo, boolean overwriteOnExists, boolean copyLastModified, boolean throwOnFail)static java.io.BufferedReadercreateBufferedReader(java.lang.String fileName, java.lang.String encoding)static java.io.BufferedWritercreateBufferedWriter(java.lang.String fileName, boolean append, java.lang.String encoding)static FileUtil.LockFilecreateLockFile(java.lang.String lockFileName)static FileUtil.LockFilecreateLockFile(java.lang.String lockFileName, boolean throwOnFail)static java.lang.StringcreateTempFile(java.lang.String path, java.lang.String prefix, java.lang.String postfix)Creates a temporary file in path.static java.lang.StringcurrentPath()static voiddelete(java.lang.String fileName)static booleandelete(java.lang.String fileName, boolean throwOnFail)static FileUtil.DeleteDirectoryDatadeleteDirectoryTree(java.lang.String path, boolean echo)static FileUtil.DeleteDirectoryDatadeleteDirectoryTree(java.lang.String path, boolean echo, boolean throwOnFail)static booleandoesDirectoryContainAFile(java.lang.String path)static booleanexists(java.lang.String fileName)static booleanfileContainsText(java.lang.String fileName, java.lang.String text)static booleanfileContainsText(java.lang.String fileName, java.lang.String text, java.lang.String encoding)static FileUtil.DirectoryTreefindAllDirectoriesInDirectory(java.lang.String path, boolean includeSubdirectories)static FileUtil.DirectoryTreefindAllDirectoriesInDirectory(java.lang.String path, boolean includeSubdirectories, boolean caseSensitive, java.util.List<java.lang.String> excludeDirectories)static FileUtil.DirectoryTreefindAllDirectoriesInDirectory(java.lang.String path, boolean includeSubdirectories, boolean caseSensitive, java.util.List<java.lang.String> excludeDirectories, java.lang.String progressStateLabel)static FileUtil.DirectoryTreefindAllDirectoriesInDirectory(java.lang.String path, boolean includeSubdirectories, java.util.List<java.lang.String> excludeDirectories)static java.util.List<java.lang.String>findAllDirectoriesInDirectoryAsList(java.lang.String path, boolean includeSubdirectories)static java.util.List<java.lang.String>findAllDirectoriesInDirectoryAsList(java.lang.String path, boolean includeSubdirectories, java.util.List<java.lang.String> excludeDirectories)static java.util.List<java.lang.String>findAllDirectoriesInDirectoryAsList(java.lang.String path, boolean includeSubdirectories, java.util.List<java.lang.String> excludeDirectories, java.lang.String progressStateLabel)static java.util.List<java.lang.String>findAllFilesInDirectory(java.lang.String path, boolean includeSubdirectories)static java.util.List<java.lang.String>findAllFilesInDirectory(java.lang.String path, boolean includeSubdirectories, boolean caseSensitive)static java.util.List<java.lang.String>findAllFilesInDirectory(java.lang.String path, boolean includeSubdirectories, boolean caseSensitive, java.util.List<java.lang.String> excludeDirectories)static java.util.List<java.lang.String>findAllFilesInDirectory(java.lang.String path, boolean includeSubdirectories, boolean caseSensitive, java.util.List<java.lang.String> excludeDirectories, java.lang.String progressStateLabel)static java.util.List<java.lang.String>findAllFilesInDirectory(java.lang.String path, boolean includeSubdirectories, java.util.List<java.lang.String> excludeDirectories)static intfindAvailableFileName(java.lang.String path, java.lang.String fileName, int number)Finds an available (Non existing) file name in path.static java.lang.StringfindExistingParent(java.lang.String fileName)static java.lang.StringfindFileNameWithCorrectCase(java.lang.String fileName)static java.lang.StringfindFileNameWithCorrectCaseLinux(java.lang.String fileName, boolean throwOnFail)static booleangetExecutable(java.lang.String fileName)static longgetFreeSpace(java.lang.String path)static java.lang.StringgetInstallationPath()static booleangetReadable(java.lang.String fileName)static java.lang.StringgetTempPath()static booleangetWritable(java.lang.String fileName)static booleanisAbsolute(java.lang.String fileName)static booleanisDirectory(java.lang.String fileName)static booleanisDirectoryCaseSensitive(java.lang.String path)static booleanisFileNameToLong(java.lang.String fileName)static booleanisFileNameValid(java.lang.String fileName)static booleanisLinuxFileNameValid(java.lang.String fileName)static booleanisPathValid(java.lang.String path)static booleanisSymbolicLink(java.lang.String fileName)static booleanisWindowsFileNameToLong(java.lang.String fileName)static booleanisWindowsFileNameValid(java.lang.String fileName)static longlastModified(java.lang.String fileName)static voidloadPropertiesFromFile(java.lang.String fileName)Loads properties from a file and saves them into System properties (System.setProperty(String, String).static java.util.PropertiesloadPropertyFile(java.lang.String fileName)static java.util.PropertiesloadPropertyFile(java.lang.String fileName, java.lang.String encoding)static voidmkdirs(java.io.File path)static booleanmkdirs(java.io.File path, boolean throwOnFail)static voidmkdirs(java.lang.String path)static booleanmkdirs(java.lang.String path, boolean throwOnFail)static voidmkdirsAndFile(java.lang.String fileName)static byte[]readDataFromFile(java.lang.String fileName)Read all data from fileName and return it.static byte[]readDataFromFile(java.lang.String fileName, int maximumNumberOfBytes)Read data from fileName and return it.static byte[]readDataFromFile(java.lang.String fileName, long offset, int maximumNumberOfBytes)Read data from offset in fileName and return it.static java.lang.StringreadFile(java.lang.String fileName)static java.lang.StringreadFile(java.lang.String fileName, java.lang.String encoding)static java.lang.StringreadFile(java.lang.String fileName, java.lang.String encoding, int maximumNumberOfBytes)static java.lang.StringreadFirstLineInFile(java.lang.String fileName)static java.lang.StringreadFirstLineInFile(java.lang.String fileName, java.lang.String encoding)static java.util.List<java.lang.String>readLinesInFile(java.lang.String fileName)static voidreadLinesInFile(java.lang.String fileName, FileUtil.LineReadInterface lineReadInterface)static java.util.List<java.lang.String>readLinesInFile(java.lang.String fileName, java.lang.String encoding)static voidreadLinesInFile(java.lang.String fileName, java.lang.String encoding, FileUtil.LineReadInterface lineReadInterface)static voidreadLinesInFile(java.lang.String fileName, java.lang.String encoding, java.io.BufferedReader in, FileUtil.LineReadInterface lineReadInterface)static java.lang.StringremoveUtf8Bom(java.lang.String fileName, java.lang.String encoding, java.lang.String content, boolean warnIfRemoved, boolean exceptionOnMismatch)static booleanrename(java.io.File fromFileName, java.io.File toFileName, boolean throwOnFail)static voidrename(java.lang.String fromFileName, java.lang.String toFileName)static booleanrename(java.lang.String fromFileName, java.lang.String toFileName, boolean throwOnFail)static booleanrenameWithCaseChange(java.lang.String fromFileName, java.lang.String toFileName, boolean throwOnFail)static booleanrenameWithCaseChangeFullPath(java.lang.String fromFileName, java.lang.String toFileName, boolean throwOnFail)static java.lang.StringreplaceAllSpecialFileNameChars(java.lang.String fileName)static java.lang.StringreplaceSpecialDirectoryChars(java.lang.String fileName)static java.lang.StringreplaceSpecialFileNameAndDirectoryChars(java.lang.String fileName)static java.lang.StringreplaceSpecialFullFileNameChars(java.lang.String fileName)static voidsetExecutable(java.lang.String fileName, boolean executable)static booleansetExecutable(java.lang.String fileName, boolean executable, boolean throwOnFail)static voidsetLastModified(java.lang.String fileName, long lastModified)static voidsetReadable(java.lang.String fileName, boolean readable)static booleansetReadable(java.lang.String fileName, boolean readable, boolean throwOnFail)static voidsetWritable(java.lang.String fileName, boolean writable)static booleansetWritable(java.lang.String fileName, boolean writable, boolean throwOnFail)static longsize(java.lang.String fileName)static voidwriteAppendLinesToFile(java.lang.String fileName, java.lang.String lines)static voidwriteAppendLinesToFile(java.lang.String fileName, java.lang.String lines, java.lang.String encoding)static voidwriteDataToFile(java.lang.String fileName, byte[] data, boolean append)static voidwriteFile(java.lang.String fileName, java.lang.String content)static voidwriteFile(java.lang.String fileName, java.lang.String content, boolean append)static voidwriteFile(java.lang.String fileName, java.lang.String content, boolean append, java.lang.String encoding)static voidwriteLinesToFile(java.lang.String fileName, java.util.Collection<java.lang.String> lines)static voidwriteLinesToFile(java.lang.String fileName, java.util.Collection<java.lang.String> lines, boolean append)static voidwriteLinesToFile(java.lang.String fileName, java.util.Collection<java.lang.String> lines, boolean append, java.lang.String encoding)static voidwriteLinesToFile(java.lang.String fileName, java.util.Collection<java.lang.String> lines, boolean append, java.lang.String encoding, FileUtil.Newline newline, boolean endWithNewline)static voidwriteUsingTempFile(java.lang.String fileName, boolean append, java.lang.String encoding, FileUtil.WriteUsingTempFileAction saveUsingTempFileAction)static voidwriteUsingTempFile(java.lang.String fileName, FileUtil.WriteUsingTempFileAction saveUsingTempFileAction)static voidwriteUsingTempFile(java.lang.String fileName, java.lang.String encoding, FileUtil.WriteUsingTempFileAction saveUsingTempFileAction)
-
-
-
Field Detail
-
MAXIMUM_WINDOWS_FILE_NAME_LENGTH
public static final int MAXIMUM_WINDOWS_FILE_NAME_LENGTH
- See Also:
- Constant Field Values
-
WINDOWS_TEMP_PATH
public static final java.lang.String WINDOWS_TEMP_PATH
- See Also:
- Constant Field Values
-
LINUX_TEMP_PATH
public static final java.lang.String LINUX_TEMP_PATH
- See Also:
- Constant Field Values
-
MAC_TEMP_PATH
public static final java.lang.String MAC_TEMP_PATH
- See Also:
- Constant Field Values
-
warnIfBomHeaderRemoved
public static boolean warnIfBomHeaderRemoved
-
READ_NO_MAXIMUM_NUMBER_OF_BYTES
public static final int READ_NO_MAXIMUM_NUMBER_OF_BYTES
- See Also:
- Constant Field Values
-
DEFAULT_TEMP_FILE_PREFIX
public static final java.lang.String DEFAULT_TEMP_FILE_PREFIX
- See Also:
- Constant Field Values
-
COPY_IN_LENGTH_UNKNOWN
public static final long COPY_IN_LENGTH_UNKNOWN
- See Also:
- Constant Field Values
-
COMPARE_ERROR
public static final long COMPARE_ERROR
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FileUtil
public FileUtil()
-
-
Method Detail
-
calculateDriveName
public static java.lang.String calculateDriveName(java.lang.String fileName)
-
calculatePath
public static java.lang.String calculatePath(java.lang.String fileName)
-
calculatePathNoIO
public static java.lang.String calculatePathNoIO(java.lang.String fileName)
-
addDirectorySeparatorToPath
public static java.lang.String addDirectorySeparatorToPath(java.lang.String path)
-
calculateExtension
public static java.lang.String calculateExtension(java.lang.String fileName)
-
calculateExtension
public static java.lang.String calculateExtension(java.lang.String fileName, boolean withDot)
-
calculateFileName
public static java.lang.String calculateFileName(java.lang.String fileName)
-
calculateFileNameNoIO
public static java.lang.String calculateFileNameNoIO(java.lang.String fileName)
-
calculateFileNameNoExtension
public static java.lang.String calculateFileNameNoExtension(java.lang.String fileName)
-
calculateLastDirectoryName
public static java.lang.String calculateLastDirectoryName(java.lang.String fileName)
-
calculateLastDirectoryNameNoIO
public static java.lang.String calculateLastDirectoryNameNoIO(java.lang.String fileName)
-
calculateParentPathFromPath
public static java.lang.String calculateParentPathFromPath(java.lang.String path)
-
calculateAllDirectoryNames
public static java.util.List<java.lang.String> calculateAllDirectoryNames(java.lang.String fileName)
-
calculateAbsolutePath
public static java.lang.String calculateAbsolutePath(java.lang.String path)
Returns the absolute path name of path relative to current directory.
SeecalculateAbsolutePath(String, String)for details.
-
calculateAbsolutePath
public static java.lang.String calculateAbsolutePath(java.lang.String basePath, java.lang.String path)
Returns the absolute path name of path relative to basePath.
SeecalculateAbsoluteFileName(String, String)for details.
-
calculateAbsoluteFileName
public static java.lang.String calculateAbsoluteFileName(java.lang.String fileName)
Returns the absolute file name of fileName relative to current directory.
SeecalculateAbsoluteFileName(String, String)for details.
-
calculateAbsoluteFileName
public static java.lang.String calculateAbsoluteFileName(java.lang.String basePath, java.lang.String fileName)
Returns the absolute file name of fileName relative to basePath.
The absolute file name is calculated using theFile.getCanonicalFile()method.
SeecalculateAbsoluteFileNameLocal(String)for details.
If basePath is null the current directory is use as base.
All File.separator + File.separator in fileName will be replaced with File.separator ("//" -> "/" and "\" -> "\").
-
isAbsolute
public static boolean isAbsolute(java.lang.String fileName)
-
convertTo8Dot3
public static java.lang.String convertTo8Dot3(java.lang.String fileName)
-
isPathValid
public static boolean isPathValid(java.lang.String path)
-
isFileNameValid
public static boolean isFileNameValid(java.lang.String fileName)
-
isWindowsFileNameValid
public static boolean isWindowsFileNameValid(java.lang.String fileName)
-
isLinuxFileNameValid
public static boolean isLinuxFileNameValid(java.lang.String fileName)
-
isFileNameToLong
public static boolean isFileNameToLong(java.lang.String fileName)
-
isWindowsFileNameToLong
public static boolean isWindowsFileNameToLong(java.lang.String fileName)
-
checkFileNameLengthAndWarn
public static void checkFileNameLengthAndWarn(java.lang.String fileName)
-
replaceAllSpecialFileNameChars
public static java.lang.String replaceAllSpecialFileNameChars(java.lang.String fileName)
-
replaceSpecialDirectoryChars
public static java.lang.String replaceSpecialDirectoryChars(java.lang.String fileName)
-
replaceSpecialFileNameAndDirectoryChars
public static java.lang.String replaceSpecialFileNameAndDirectoryChars(java.lang.String fileName)
-
replaceSpecialFullFileNameChars
public static java.lang.String replaceSpecialFullFileNameChars(java.lang.String fileName)
-
isDirectory
public static boolean isDirectory(java.lang.String fileName)
-
isDirectoryCaseSensitive
public static boolean isDirectoryCaseSensitive(java.lang.String path)
-
canFilesInDirectoryBeMarkedExecutable
public static boolean canFilesInDirectoryBeMarkedExecutable(java.lang.String path)
-
calculateFileSystemType
public static FileUtil.FILE_SYSTEM calculateFileSystemType(java.lang.String path)
This method will calculate the file system of path (in a very hacky way) and return it.
NOTE: This method requires that the path is writable. If it is not writable, UNKNOWN is returned.
NOTE: This method is slow as it creates and deletes files in path.
NOTE: This method has NOT been tested on Mac at all. See the uncomment method getFileSystemString(String) above for a method that will return kind of the same information.
-
exists
public static boolean exists(java.lang.String fileName)
-
lastModified
public static long lastModified(java.lang.String fileName)
-
setLastModified
public static void setLastModified(java.lang.String fileName, long lastModified)
-
size
public static long size(java.lang.String fileName)
-
checkForExistsAndWarm
public static boolean checkForExistsAndWarm(java.lang.String fileName)
-
mkdirs
public static void mkdirs(java.lang.String path)
-
mkdirs
public static void mkdirs(java.io.File path)
-
mkdirs
public static boolean mkdirs(java.lang.String path, boolean throwOnFail)
-
mkdirs
public static boolean mkdirs(java.io.File path, boolean throwOnFail)
-
mkdirsAndFile
public static void mkdirsAndFile(java.lang.String fileName)
-
readFile
public static java.lang.String readFile(java.lang.String fileName)
-
readFile
public static java.lang.String readFile(java.lang.String fileName, java.lang.String encoding)
-
readFile
public static java.lang.String readFile(java.lang.String fileName, java.lang.String encoding, int maximumNumberOfBytes)
-
createBufferedReader
public static java.io.BufferedReader createBufferedReader(java.lang.String fileName, java.lang.String encoding)
-
readFirstLineInFile
public static java.lang.String readFirstLineInFile(java.lang.String fileName)
-
readFirstLineInFile
public static java.lang.String readFirstLineInFile(java.lang.String fileName, java.lang.String encoding)
-
readLinesInFile
public static java.util.List<java.lang.String> readLinesInFile(java.lang.String fileName)
-
readLinesInFile
public static java.util.List<java.lang.String> readLinesInFile(java.lang.String fileName, java.lang.String encoding)
-
readLinesInFile
public static void readLinesInFile(java.lang.String fileName, FileUtil.LineReadInterface lineReadInterface)
-
readLinesInFile
public static void readLinesInFile(java.lang.String fileName, java.lang.String encoding, FileUtil.LineReadInterface lineReadInterface)
-
readLinesInFile
public static void readLinesInFile(java.lang.String fileName, java.lang.String encoding, java.io.BufferedReader in, FileUtil.LineReadInterface lineReadInterface) throws java.io.IOException
- Throws:
java.io.IOException
-
removeUtf8Bom
public static java.lang.String removeUtf8Bom(java.lang.String fileName, java.lang.String encoding, java.lang.String content, boolean warnIfRemoved, boolean exceptionOnMismatch)
-
readDataFromFile
public static byte[] readDataFromFile(java.lang.String fileName)
Read all data from fileName and return it.
-
readDataFromFile
public static byte[] readDataFromFile(java.lang.String fileName, int maximumNumberOfBytes)
Read data from fileName and return it.
If maximumNumberOfBytes is different fromREAD_NO_MAXIMUM_NUMBER_OF_BYTESit is used as max read limit. SeereadDataFromFile(String, long, int)for very similar code
-
readDataFromFile
public static byte[] readDataFromFile(java.lang.String fileName, long offset, int maximumNumberOfBytes)
Read data from offset in fileName and return it.
If maximumNumberOfBytes is different fromREAD_NO_MAXIMUM_NUMBER_OF_BYTESit is used as max read limit. SeereadDataFromFile(String, int)for very similar code
-
writeFile
public static void writeFile(java.lang.String fileName, java.lang.String content)
-
writeFile
public static void writeFile(java.lang.String fileName, java.lang.String content, boolean append)
-
writeFile
public static void writeFile(java.lang.String fileName, java.lang.String content, boolean append, java.lang.String encoding)
-
writeAppendLinesToFile
public static void writeAppendLinesToFile(java.lang.String fileName, java.lang.String lines)
-
writeAppendLinesToFile
public static void writeAppendLinesToFile(java.lang.String fileName, java.lang.String lines, java.lang.String encoding)
-
writeLinesToFile
public static void writeLinesToFile(java.lang.String fileName, java.util.Collection<java.lang.String> lines)
-
writeLinesToFile
public static void writeLinesToFile(java.lang.String fileName, java.util.Collection<java.lang.String> lines, boolean append)
-
writeLinesToFile
public static void writeLinesToFile(java.lang.String fileName, java.util.Collection<java.lang.String> lines, boolean append, java.lang.String encoding)
-
createBufferedWriter
public static java.io.BufferedWriter createBufferedWriter(java.lang.String fileName, boolean append, java.lang.String encoding)
-
writeLinesToFile
public static void writeLinesToFile(java.lang.String fileName, java.util.Collection<java.lang.String> lines, boolean append, java.lang.String encoding, FileUtil.Newline newline, boolean endWithNewline)
-
writeDataToFile
public static void writeDataToFile(java.lang.String fileName, byte[] data, boolean append)
-
calculateNumberedFileName
public static java.lang.String calculateNumberedFileName(java.lang.String path, java.lang.String fileName, int number)
-
writeUsingTempFile
public static void writeUsingTempFile(java.lang.String fileName, FileUtil.WriteUsingTempFileAction saveUsingTempFileAction)
-
writeUsingTempFile
public static void writeUsingTempFile(java.lang.String fileName, java.lang.String encoding, FileUtil.WriteUsingTempFileAction saveUsingTempFileAction)
-
writeUsingTempFile
public static void writeUsingTempFile(java.lang.String fileName, boolean append, java.lang.String encoding, FileUtil.WriteUsingTempFileAction saveUsingTempFileAction)
-
findFileNameWithCorrectCase
public static java.lang.String findFileNameWithCorrectCase(java.lang.String fileName)
-
findFileNameWithCorrectCaseLinux
public static java.lang.String findFileNameWithCorrectCaseLinux(java.lang.String fileName, boolean throwOnFail)
-
renameWithCaseChangeFullPath
public static boolean renameWithCaseChangeFullPath(java.lang.String fromFileName, java.lang.String toFileName, boolean throwOnFail)
-
renameWithCaseChange
public static boolean renameWithCaseChange(java.lang.String fromFileName, java.lang.String toFileName, boolean throwOnFail)
-
rename
public static void rename(java.lang.String fromFileName, java.lang.String toFileName)
-
rename
public static boolean rename(java.lang.String fromFileName, java.lang.String toFileName, boolean throwOnFail)
-
rename
public static boolean rename(java.io.File fromFileName, java.io.File toFileName, boolean throwOnFail)
-
copy
public static void copy(java.lang.String fromFileName, java.lang.String toFileName)
-
copy
public static void copy(java.lang.String fromFileName, java.lang.String toFileName, boolean overwriteOnExists)
-
copy
public static boolean copy(java.lang.String fromFileName, java.lang.String toFileName, boolean overwriteOnExists, boolean copyLastModified, boolean throwOnFail)
-
copy
public static boolean copy(java.io.BufferedInputStream in, long inLength, java.lang.String toFileName, boolean overwriteOnExists, boolean throwOnFail)
-
copyDirectoryTree
public static void copyDirectoryTree(java.lang.String fromPath, java.lang.String toPath, boolean echo)
-
copyDirectoryTree
public static void copyDirectoryTree(java.lang.String fromPath, java.lang.String toPath, boolean echo, boolean overwriteOnExists)
-
copyDirectoryTree
public static boolean copyDirectoryTree(java.lang.String fromPath, java.lang.String toPath, boolean echo, boolean overwriteOnExists, boolean copyLastModified, boolean throwOnFail)
-
delete
public static void delete(java.lang.String fileName)
-
delete
public static boolean delete(java.lang.String fileName, boolean throwOnFail)
-
deleteDirectoryTree
public static FileUtil.DeleteDirectoryData deleteDirectoryTree(java.lang.String path, boolean echo)
-
deleteDirectoryTree
public static FileUtil.DeleteDirectoryData deleteDirectoryTree(java.lang.String path, boolean echo, boolean throwOnFail)
-
findAllDirectoriesInDirectoryAsList
public static java.util.List<java.lang.String> findAllDirectoriesInDirectoryAsList(java.lang.String path, boolean includeSubdirectories)
-
findAllDirectoriesInDirectoryAsList
public static java.util.List<java.lang.String> findAllDirectoriesInDirectoryAsList(java.lang.String path, boolean includeSubdirectories, java.util.List<java.lang.String> excludeDirectories)
-
findAllDirectoriesInDirectoryAsList
public static java.util.List<java.lang.String> findAllDirectoriesInDirectoryAsList(java.lang.String path, boolean includeSubdirectories, java.util.List<java.lang.String> excludeDirectories, java.lang.String progressStateLabel)
-
findAllDirectoriesInDirectory
public static FileUtil.DirectoryTree findAllDirectoriesInDirectory(java.lang.String path, boolean includeSubdirectories)
-
findAllDirectoriesInDirectory
public static FileUtil.DirectoryTree findAllDirectoriesInDirectory(java.lang.String path, boolean includeSubdirectories, java.util.List<java.lang.String> excludeDirectories)
-
findAllDirectoriesInDirectory
public static FileUtil.DirectoryTree findAllDirectoriesInDirectory(java.lang.String path, boolean includeSubdirectories, boolean caseSensitive, java.util.List<java.lang.String> excludeDirectories)
-
findAllDirectoriesInDirectory
public static FileUtil.DirectoryTree findAllDirectoriesInDirectory(java.lang.String path, boolean includeSubdirectories, boolean caseSensitive, java.util.List<java.lang.String> excludeDirectories, java.lang.String progressStateLabel)
-
findAllFilesInDirectory
public static java.util.List<java.lang.String> findAllFilesInDirectory(java.lang.String path, boolean includeSubdirectories)
-
findAllFilesInDirectory
public static java.util.List<java.lang.String> findAllFilesInDirectory(java.lang.String path, boolean includeSubdirectories, boolean caseSensitive)
-
findAllFilesInDirectory
public static java.util.List<java.lang.String> findAllFilesInDirectory(java.lang.String path, boolean includeSubdirectories, java.util.List<java.lang.String> excludeDirectories)
-
findAllFilesInDirectory
public static java.util.List<java.lang.String> findAllFilesInDirectory(java.lang.String path, boolean includeSubdirectories, boolean caseSensitive, java.util.List<java.lang.String> excludeDirectories)
-
findAllFilesInDirectory
public static java.util.List<java.lang.String> findAllFilesInDirectory(java.lang.String path, boolean includeSubdirectories, boolean caseSensitive, java.util.List<java.lang.String> excludeDirectories, java.lang.String progressStateLabel)
-
calculateFilter
public static FileUtil.FilterData calculateFilter(java.lang.String path, boolean caseSensitive)
-
isSymbolicLink
public static boolean isSymbolicLink(java.lang.String fileName)
-
doesDirectoryContainAFile
public static boolean doesDirectoryContainAFile(java.lang.String path)
-
compareFiles
public static boolean compareFiles(java.lang.String fileName1, java.lang.String fileName2)
-
compareFilesEqualsBytes
public static long compareFilesEqualsBytes(java.lang.String fileName1, java.lang.String fileName2)
Compares the two files.- Returns:
- If the files are identical, then the number of bytes compared is returned. If the files are not identical, then the first different byte position is returned negative. On error -1 is returned.
-
getReadable
public static boolean getReadable(java.lang.String fileName)
-
setReadable
public static void setReadable(java.lang.String fileName, boolean readable)
-
setReadable
public static boolean setReadable(java.lang.String fileName, boolean readable, boolean throwOnFail)
-
findExistingParent
public static java.lang.String findExistingParent(java.lang.String fileName)
-
getWritable
public static boolean getWritable(java.lang.String fileName)
-
setWritable
public static void setWritable(java.lang.String fileName, boolean writable)
-
setWritable
public static boolean setWritable(java.lang.String fileName, boolean writable, boolean throwOnFail)
-
getExecutable
public static boolean getExecutable(java.lang.String fileName)
-
setExecutable
public static void setExecutable(java.lang.String fileName, boolean executable)
-
setExecutable
public static boolean setExecutable(java.lang.String fileName, boolean executable, boolean throwOnFail)
-
getFreeSpace
public static long getFreeSpace(java.lang.String path)
-
checkWriteAccess
public static boolean checkWriteAccess(java.lang.String fileName)
Check for write access using the creation of an actual file.
SeegetWritable(String)for details
-
createLockFile
public static FileUtil.LockFile createLockFile(java.lang.String lockFileName)
-
createLockFile
public static FileUtil.LockFile createLockFile(java.lang.String lockFileName, boolean throwOnFail)
-
findAvailableFileName
public static int findAvailableFileName(java.lang.String path, java.lang.String fileName, int number)
Finds an available (Non existing) file name in path.
Example usage:int number = FileUtil.findAvailableFileName(path, fileName, 0); String newFileName = FileUtil.calculateNumberedFileName(path, fileName, number);
-
checkForTempFiles
public static void checkForTempFiles(java.util.List<java.lang.String> fileNames)
-
createTempFile
public static java.lang.String createTempFile(java.lang.String path, java.lang.String prefix, java.lang.String postfix)
Creates a temporary file in path.
Use thefindAvailableFileName(String, String, int)to find an available file name.
-
getTempPath
public static java.lang.String getTempPath()
-
currentPath
public static java.lang.String currentPath()
-
getInstallationPath
public static java.lang.String getInstallationPath()
-
fileContainsText
public static boolean fileContainsText(java.lang.String fileName, java.lang.String text)
-
fileContainsText
public static boolean fileContainsText(java.lang.String fileName, java.lang.String text, java.lang.String encoding)
-
loadPropertiesFromFile
public static void loadPropertiesFromFile(java.lang.String fileName)
Loads properties from a file and saves them into System properties (System.setProperty(String, String).
Note: This does NOT overwrite properties that are already set.
-
loadPropertyFile
public static java.util.Properties loadPropertyFile(java.lang.String fileName)
-
loadPropertyFile
public static java.util.Properties loadPropertyFile(java.lang.String fileName, java.lang.String encoding)
-
-