com.pmease.quickbuild.util
Class FileUtils

java.lang.Object
  extended by org.apache.commons.io.FileUtils
      extended by com.pmease.quickbuild.util.FileUtils

public class FileUtils
extends org.apache.commons.io.FileUtils


Field Summary
 
Fields inherited from class org.apache.commons.io.FileUtils
EMPTY_FILE_ARRAY, ONE_GB, ONE_KB, ONE_MB
 
Constructor Summary
FileUtils()
           
 
Method Summary
static java.lang.Long assignIdFor(java.io.File file)
          Assign an unique integer identifier for path of specified file.
static java.lang.String byteCountToDisplaySize(long size)
           
static void cleanDir(java.io.File dir)
          Clean specified directory if exists; otherwise create an empty directory.
static int comparePath(java.lang.String path1, java.lang.String path2)
           
static boolean containsFileWithSuffix(java.io.File dir, java.lang.String suffix)
          Checks whether or not specified directory contains file with specified suffix recursively.
static void copyDir(java.io.File srcDir, java.io.File destDir)
           
static void copyFile(java.io.File srcFile, java.io.File destFile)
           
static void copyFile(java.io.File srcFile, java.io.File destFile, boolean preserveFileDate)
           
static void copyFile(java.io.File srcFile, java.io.File destFile, boolean preserveFileDate, boolean preserveReadOnly)
           
static void copyFiles(java.io.File srcDir, java.lang.String patterns, java.io.File destDir)
           
static void copyUrlToFile(java.net.URL url, java.io.File file)
           
static void createDir(java.io.File dir)
          Create directory if not exist
static void createFile(java.io.File file)
          Create file if not exists; otherwise, clear content of the file.
static java.io.File createTempDir(java.lang.String prefix)
           
static java.io.File createTempFile(java.lang.String prefix)
           
static java.io.File createTempFile(java.lang.String prefix, java.lang.String suffix)
          Create a temporal file with specified prefix and suffix.
static void deleteDir(java.io.File dir)
          Delete directory recursively if the directory exists.
static void deleteFile(java.io.File file)
          Delete file if exists
static void deleteFiles(java.io.File baseDir, java.lang.String filePatterns)
          Delete files from specified directory matching specified patterns.
static java.io.File findChild(java.io.File dir, java.lang.String name)
          Find specified name in specified directory
static java.lang.String getDefaultEncoding()
          Get default file encoding of underlying OS
static Pair<java.lang.String[],java.lang.String[]> getIncludesExcludes(java.lang.String pathPatterns)
           
static java.lang.String getRelativePath(java.lang.String longer, java.lang.String shorter)
          Determines if specified longer path is relative to the shorter path.
static boolean isFilePattern(java.lang.String path)
           
static java.util.Collection<java.io.File> listFiles(java.io.File baseDir, java.lang.String filePatterns)
          List all files matching specified patterns under specified base directory.
static java.util.Properties loadProps(java.io.File file)
           
static java.io.File locateLib(java.lang.Class<?> locator, java.lang.String libName)
           
static boolean matches(java.lang.String path, java.util.List<Pair<java.lang.String,java.lang.Boolean>> parsedPathPatterns)
           
static boolean matches(java.lang.String path, java.lang.String pathPattern)
           
static java.io.File normalize(java.io.File file)
           
static java.lang.String normalize(java.lang.String path)
           
static java.util.List<Pair<java.lang.String,java.lang.Boolean>> parsePathPatterns(java.lang.String pathPatterns)
          Parse path patterns into list of include and exclude pairs
static void pruneDir(java.io.File dir, java.lang.String name)
          Delete all descendant directories that only has specified file or directory.
static byte[] readFileAsBytes(java.io.File file)
           
static VersionedDocument readFileAsDom(java.io.File file)
           
static java.util.List<java.lang.String> readFileAsLines(java.io.File file)
           
static java.util.List<java.lang.String> readFileAsLines(java.io.File file, java.lang.String encoding)
           
static java.lang.Object readFileAsObject(java.io.File file)
           
static java.lang.String readFileAsString(java.io.File file)
          Read file content as a string.
static java.lang.String readFileAsString(java.io.File file, java.lang.String encoding)
           
static java.lang.String readFileAsString(java.io.File file, java.lang.String pattern, int range)
           
static java.lang.String readFileAsString(java.io.File file, java.lang.String encoding, java.lang.String pattern, int range)
           
static java.io.File resolvePath(java.io.File baseDir, java.lang.String path)
          Resolve specified path against specified base directory: If path is null, the base directory will be returned. If path is an absolute path, the file represented by the path will be returned. If path is a relative path, the file represented by concatenation result of the base directory and the path will be returned.
static void saveProps(java.io.File file, java.util.Properties props)
           
static void saveProps(java.io.File file, java.util.Properties props, java.lang.String comment)
           
static void sortFiles(java.util.List<java.io.File> files)
           
static void sortPaths(java.util.List<java.lang.String> paths)
          Sort paths in ascending order.
static void tar(java.io.File baseDir, java.lang.String filePatterns, boolean compress, java.io.OutputStream os)
           
static void touchFile(java.io.File file)
           
static void untar(java.io.InputStream is, boolean compressed, java.io.File destDir)
           
static void unzip(java.io.File file, java.io.File dir)
           
static void unzip(java.io.InputStream is, java.io.File destDir)
           
static void writeFile(java.io.File file, byte[] bytes)
           
static void writeFile(java.io.File file, java.util.Collection<java.lang.String> lines)
           
static void writeFile(java.io.File file, java.util.Collection<java.lang.String> lines, java.lang.String encoding)
           
static void writeFile(java.io.File file, java.io.Serializable serializable)
           
static void writeFile(java.io.File file, java.lang.String content)
           
static void writeFile(java.io.File file, java.lang.String content, java.lang.String encoding)
           
static void writeFile(java.io.File file, VersionedDocument dom)
           
static void writeFile(java.io.File file, VersionedDocument dom, boolean clearPasswords, boolean newlines, boolean indent)
           
static void zip(java.io.File dir, java.io.File file)
           
static void zip(java.io.File baseDir, java.lang.String filePatterns, boolean compress, java.io.OutputStream os)
           
 
Methods inherited from class org.apache.commons.io.FileUtils
checksum, checksumCRC32, cleanDirectory, contentEquals, convertFileCollectionToFileArray, copyDirectory, copyDirectory, copyDirectory, copyDirectory, copyDirectoryToDirectory, copyFileToDirectory, copyFileToDirectory, copyURLToFile, deleteDirectory, deleteQuietly, forceDelete, forceDeleteOnExit, forceMkdir, isFileNewer, isFileNewer, isFileNewer, isFileOlder, isFileOlder, isFileOlder, iterateFiles, iterateFiles, lineIterator, lineIterator, listFiles, listFiles, moveDirectory, moveDirectoryToDirectory, moveFile, moveFileToDirectory, moveToDirectory, openInputStream, openOutputStream, readFileToByteArray, readFileToString, readFileToString, readLines, readLines, sizeOfDirectory, toFile, toFiles, touch, toURLs, waitFor, writeByteArrayToFile, writeLines, writeLines, writeLines, writeLines, writeStringToFile, writeStringToFile
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileUtils

public FileUtils()
Method Detail

deleteFile

public static void deleteFile(java.io.File file)
Delete file if exists

Parameters:
file -

createTempFile

public static java.io.File createTempFile(java.lang.String prefix,
                                          java.lang.String suffix)
Create a temporal file with specified prefix and suffix.

Parameters:
prefix -
suffix -
Returns:

createTempFile

public static java.io.File createTempFile(java.lang.String prefix)

createTempDir

public static java.io.File createTempDir(java.lang.String prefix)

cleanDir

public static void cleanDir(java.io.File dir)
Clean specified directory if exists; otherwise create an empty directory.


createDir

public static void createDir(java.io.File dir)
Create directory if not exist


readFileAsString

public static java.lang.String readFileAsString(java.io.File file)
Read file content as a string.

Parameters:
file -
Returns:

readFileAsString

public static java.lang.String readFileAsString(java.io.File file,
                                                java.lang.String encoding)

readFileAsString

public static java.lang.String readFileAsString(java.io.File file,
                                                java.lang.String pattern,
                                                int range)

readFileAsString

public static java.lang.String readFileAsString(java.io.File file,
                                                java.lang.String encoding,
                                                java.lang.String pattern,
                                                int range)

writeFile

public static void writeFile(java.io.File file,
                             java.lang.String content)

writeFile

public static void writeFile(java.io.File file,
                             VersionedDocument dom)

writeFile

public static void writeFile(java.io.File file,
                             VersionedDocument dom,
                             boolean clearPasswords,
                             boolean newlines,
                             boolean indent)
Parameters:
file -
dom -
newlines - this is passed as a param since dom4j has a bug that an extra empty line will be added between elements if writing dom reading from an existing formatted xml file. In this case, we need to write the DOM with new lines set to false.

readFileAsDom

public static VersionedDocument readFileAsDom(java.io.File file)

writeFile

public static void writeFile(java.io.File file,
                             java.lang.String content,
                             java.lang.String encoding)

copyDir

public static void copyDir(java.io.File srcDir,
                           java.io.File destDir)

copyFiles

public static void copyFiles(java.io.File srcDir,
                             java.lang.String patterns,
                             java.io.File destDir)

copyFile

public static void copyFile(java.io.File srcFile,
                            java.io.File destFile)

copyFile

public static void copyFile(java.io.File srcFile,
                            java.io.File destFile,
                            boolean preserveFileDate)

copyFile

public static void copyFile(java.io.File srcFile,
                            java.io.File destFile,
                            boolean preserveFileDate,
                            boolean preserveReadOnly)

readFileAsLines

public static java.util.List<java.lang.String> readFileAsLines(java.io.File file)

readFileAsLines

public static java.util.List<java.lang.String> readFileAsLines(java.io.File file,
                                                               java.lang.String encoding)

writeFile

public static void writeFile(java.io.File file,
                             java.util.Collection<java.lang.String> lines)

writeFile

public static void writeFile(java.io.File file,
                             java.util.Collection<java.lang.String> lines,
                             java.lang.String encoding)

writeFile

public static void writeFile(java.io.File file,
                             byte[] bytes)

writeFile

public static void writeFile(java.io.File file,
                             java.io.Serializable serializable)

createFile

public static void createFile(java.io.File file)
Create file if not exists; otherwise, clear content of the file.

Parameters:
file -

readFileAsBytes

public static byte[] readFileAsBytes(java.io.File file)

readFileAsObject

public static java.lang.Object readFileAsObject(java.io.File file)

deleteFiles

public static void deleteFiles(java.io.File baseDir,
                               java.lang.String filePatterns)
Delete files from specified directory matching specified patterns.

Parameters:
baseDir -
filePatterns -

listFiles

public static java.util.Collection<java.io.File> listFiles(java.io.File baseDir,
                                                           java.lang.String filePatterns)
List all files matching specified patterns under specified base directory.

Parameters:
baseDir - should not be null
filePatterns - null to list all files
Returns:

parsePathPatterns

public static java.util.List<Pair<java.lang.String,java.lang.Boolean>> parsePathPatterns(java.lang.String pathPatterns)
Parse path patterns into list of include and exclude pairs

Parameters:
pathPatterns - should not be blank
Returns:

getRelativePath

public static java.lang.String getRelativePath(java.lang.String longer,
                                               java.lang.String shorter)
Determines if specified longer path is relative to the shorter path.

Parameters:
shorter - a string representing shorter path, can be a relative path. The path separator does not matter, and will be converted to "/" at comparing time.
longer - a string representing longer path, can be a relative path. The path separator does not matter, and will be converted to "/" at comparing time.
Returns:
path of longer relative to shorter, with path separator being converted to "/", and leading character will be "/" if longer is relative to shorter. A null value will be returned if longer is not relative to shorter, or "" if shorter is the same as longer

sortPaths

public static void sortPaths(java.util.List<java.lang.String> paths)
Sort paths in ascending order. If path1 is relative to path2, path2 will come before path1 in the resulting list.

Parameters:
paths - a list of string representing paths to be compared. Strings in this param will be re-ordered, and the path will be separated by \"/\" no matter what path separator they originally uses. Ending path separator in this list will be removed before sorting.

comparePath

public static int comparePath(java.lang.String path1,
                              java.lang.String path2)

getIncludesExcludes

public static Pair<java.lang.String[],java.lang.String[]> getIncludesExcludes(java.lang.String pathPatterns)

matches

public static boolean matches(java.lang.String path,
                              java.lang.String pathPattern)

matches

public static boolean matches(java.lang.String path,
                              java.util.List<Pair<java.lang.String,java.lang.Boolean>> parsedPathPatterns)

findChild

public static java.io.File findChild(java.io.File dir,
                                     java.lang.String name)
Find specified name in specified directory

Parameters:
dir - the directory to search in. This directory should exist
name - name of the file/dir to find
Returns:
the first found file/dir, null if not found

getDefaultEncoding

public static java.lang.String getDefaultEncoding()
Get default file encoding of underlying OS

Returns:

copyUrlToFile

public static void copyUrlToFile(java.net.URL url,
                                 java.io.File file)

pruneDir

public static void pruneDir(java.io.File dir,
                            java.lang.String name)
Delete all descendant directories that only has specified file or directory.


sortFiles

public static void sortFiles(java.util.List<java.io.File> files)

zip

public static void zip(java.io.File dir,
                       java.io.File file)

unzip

public static void unzip(java.io.File file,
                         java.io.File dir)

loadProps

public static java.util.Properties loadProps(java.io.File file)

saveProps

public static void saveProps(java.io.File file,
                             java.util.Properties props)

saveProps

public static void saveProps(java.io.File file,
                             java.util.Properties props,
                             java.lang.String comment)

resolvePath

public static java.io.File resolvePath(java.io.File baseDir,
                                       java.lang.String path)
Resolve specified path against specified base directory:
  1. If path is null, the base directory will be returned.
  2. If path is an absolute path, the file represented by the path will be returned.
  3. If path is a relative path, the file represented by concatenation result of the base directory and the path will be returned.

Parameters:
baseDir -
path -
Returns:

normalize

public static java.io.File normalize(java.io.File file)

normalize

public static java.lang.String normalize(java.lang.String path)

deleteDir

public static void deleteDir(java.io.File dir)
Delete directory recursively if the directory exists.

Parameters:
dir -

isFilePattern

public static boolean isFilePattern(java.lang.String path)

tar

public static void tar(java.io.File baseDir,
                       java.lang.String filePatterns,
                       boolean compress,
                       java.io.OutputStream os)

untar

public static void untar(java.io.InputStream is,
                         boolean compressed,
                         java.io.File destDir)

zip

public static void zip(java.io.File baseDir,
                       java.lang.String filePatterns,
                       boolean compress,
                       java.io.OutputStream os)

unzip

public static void unzip(java.io.InputStream is,
                         java.io.File destDir)

touchFile

public static void touchFile(java.io.File file)

containsFileWithSuffix

public static boolean containsFileWithSuffix(java.io.File dir,
                                             java.lang.String suffix)
Checks whether or not specified directory contains file with specified suffix recursively.

Parameters:
dir - must be an existing directory
suffix -
Returns:

assignIdFor

public static java.lang.Long assignIdFor(java.io.File file)
Assign an unique integer identifier for path of specified file.

Parameters:
file -
Returns:

byteCountToDisplaySize

public static java.lang.String byteCountToDisplaySize(long size)

locateLib

public static java.io.File locateLib(java.lang.Class<?> locator,
                                     java.lang.String libName)


Copyright © 2005-2010 PMEase Inc. All Rights Reserved.