| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.maven.shared.utils.io.FileUtils
public class FileUtils
This class provides basic facilities for manipulating files and file paths.
Methods exist to retrieve the components of a typical file path. For example
 /www/hosted/mysite/index.html, can be broken into:
 
/www/hosted/mysite/index -- retrievable through removeExtension(java.lang.String)html -- retrievable through getExtension(java.lang.String)File from a URL, copy a
 copy a File to another File,
 copy a URL's contents to a File,
 as well as methods to delete and clean a directory.
 
 
 Common File manipulation routines.
 
 Taken from the commons-utils repo.
 Also code from Alexandria's FileUtils.
 And from Avalon Excalibur's IO.
 And from Ant.
| Nested Class Summary | |
|---|---|
static class | 
FileUtils.FilterWrapper
 | 
| Constructor Summary | |
|---|---|
protected  | 
FileUtils()
 | 
| Method Summary | |
|---|---|
static void | 
cleanDirectory(File directory)
Clean a directory without deleting it.  | 
static boolean | 
contentEquals(File file1,
              File file2)
Compare the contents of two files to determine if they are equal or not.  | 
static void | 
copyDirectory(File sourceDirectory,
              File destinationDirectory)
Copy a directory to an other one.  | 
static void | 
copyDirectory(File sourceDirectory,
              File destinationDirectory,
              String includes,
              String excludes)
Copy a directory to an other one.  | 
static void | 
copyDirectoryStructure(File sourceDirectory,
                       File destinationDirectory)
Copies a entire directory structure.  | 
static void | 
copyFile(File source,
         File destination)
Copy file from source to destination.  | 
static void | 
copyFile(File from,
         File to,
         String encoding,
         FileUtils.FilterWrapper... wrappers)
If wrappers is null or empty, the file will be copy only if to.lastModified() < from.lastModified()  | 
static void | 
copyFile(File from,
         File to,
         String encoding,
         FileUtils.FilterWrapper[] wrappers,
         boolean overwrite)
If wrappers is null or empty, the file will be copy only if to.lastModified() < from.lastModified() or if overwrite is true  | 
static void | 
copyFileToDirectory(File source,
                    File destinationDirectory)
Copy file from source to destination.  | 
static void | 
copyURLToFile(URL source,
              File destination)
Copies bytes from the URL source to a file destination. | 
static File | 
createTempFile(String prefix,
               String suffix,
               File parentDir)
Create a temporary file in a given directory.  | 
static void | 
delete(File file)
deletes a file.  | 
static void | 
deleteDirectory(File directory)
Recursively delete a directory.  | 
static void | 
deleteDirectory(String directory)
Recursively delete a directory.  | 
static boolean | 
deleteLegacyStyle(File file)
 | 
static String | 
dirname(String filename)
Returns the directory path portion of a file specification string.  | 
static String | 
extension(String filename)
Returns the extension portion of a file specification string.  | 
static void | 
fileAppend(String fileName,
           String data)
Appends data to a file.  | 
static void | 
fileAppend(String fileName,
           String encoding,
           String data)
Appends data to a file.  | 
static void | 
fileDelete(String fileName)
Deletes a file.  | 
static boolean | 
fileExists(String fileName)
Check if a file exits.  | 
static String | 
filename(String filename)
Returns the filename portion of a file specification string.  | 
static String | 
fileRead(File file)
Note: the file content is read with platform encoding  | 
static String | 
fileRead(File file,
         String encoding)
 | 
static String | 
fileRead(String file)
Note: the file content is read with platform encoding.  | 
static String[] | 
fileReadArray(File file)
 | 
static void | 
fileWrite(File file,
          String encoding,
          String data)
Writes data to a file.  | 
static void | 
fileWrite(String fileName,
          String data)
Writes data to a file.  | 
static void | 
fileWrite(String fileName,
          String encoding,
          String data)
Writes data to a file.  | 
static void | 
fileWriteArray(File file,
               String... data)
Writes String array data to a file in the systems default encoding.  | 
static void | 
fileWriteArray(File file,
               String encoding,
               String... data)
Writes String array data to a file.  | 
static void | 
forceDelete(File file)
Delete a file.  | 
static void | 
forceDelete(String file)
Delete a file.  | 
static void | 
forceMkdir(File file)
Make a directory.  | 
static String[] | 
getDefaultExcludes()
 | 
static List<String> | 
getDefaultExcludesAsList()
 | 
static String | 
getDefaultExcludesAsString()
 | 
static List<String> | 
getDirectoryNames(File directory,
                  String includes,
                  String excludes,
                  boolean includeBasedir)
Return a list of directories as String depending options.  | 
static List<String> | 
getDirectoryNames(File directory,
                  String includes,
                  String excludes,
                  boolean includeBasedir,
                  boolean isCaseSensitive)
Return a list of directories as String depending options.  | 
static String | 
getExtension(String filename)
Get extension from filename.  | 
static List<String> | 
getFileAndDirectoryNames(File directory,
                         String includes,
                         String excludes,
                         boolean includeBasedir,
                         boolean isCaseSensitive,
                         boolean getFiles,
                         boolean getDirectories)
Return a list of files as String depending options.  | 
static List<String> | 
getFileNames(File directory,
             String includes,
             String excludes,
             boolean includeBasedir)
Return a list of files as String depending options.  | 
static List<File> | 
getFiles(File directory,
         String includes,
         String excludes)
Return the files contained in the directory, using inclusion and exclusion Ant patterns, including the directory name in each of the files  | 
static List<File> | 
getFiles(File directory,
         String includes,
         String excludes,
         boolean includeBasedir)
Return the files contained in the directory, using inclusion and exclusion Ant patterns  | 
static String[] | 
getFilesFromExtension(String directory,
                      String... extensions)
Given a directory and an array of extensions return an array of compliant files.  | 
static boolean | 
isSymbolicLink(File file)
Checks whether a given file is a symbolic link.  | 
static boolean | 
isSymbolicLinkForSure(File file)
Checks whether a given file is a symbolic link.  | 
static List<String> | 
loadFile(File file)
Note: the file content is read with platform encoding  | 
static void | 
mkdir(String dir)
Simple way to make a directory  | 
static String | 
normalize(String path)
Normalize a path.  | 
static String | 
removeExtension(String filename)
Remove extension from filename.  | 
static void | 
rename(File from,
       File to)
Renames a file, even if that involves crossing file system boundaries.  | 
static File | 
resolveFile(File baseFile,
            String filename)
Resolve a file filename to it's canonical form. | 
static long | 
sizeOfDirectory(File directory)
Recursively count size of a directory.  | 
static long | 
sizeOfDirectory(String directory)
Recursively count size of a directory.  | 
static File | 
toFile(URL url)
Convert from a URL to a File. | 
static URL[] | 
toURLs(File... files)
Convert the array of Files into a list of URLs.  | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
protected FileUtils()
| Method Detail | 
|---|
@Nonnull public static String[] getDefaultExcludes()
DirectoryScanner.DEFAULTEXCLUDES@Nonnull public static List<String> getDefaultExcludesAsList()
getDefaultExcludes()@Nonnull public static String getDefaultExcludesAsString()
DirectoryScanner.DEFAULTEXCLUDES, 
StringUtils.join(Object[], String)
@Nonnull
public static String dirname(@Nonnull
                                     String filename)
filename - the file path
@Nonnull
public static String filename(@Nonnull
                                      String filename)
filename - the file path
@Nonnull
public static String extension(@Nonnull
                                       String filename)
filename - the file path
public static boolean fileExists(@Nonnull
                                 String fileName)
fileName - the file path.
@Nonnull
public static String fileRead(@Nonnull
                                      String file)
                       throws IOException
file - the file path
IOException - if any
@Nonnull
public static String fileRead(@Nonnull
                                      File file)
                       throws IOException
file - the file path
IOException - if any
@Nonnull
public static String fileRead(@Nonnull
                                      File file,
                                      @Nullable
                                      String encoding)
                       throws IOException
file - the file pathencoding - the wanted encoding
IOException - if any
@Nonnull
public static String[] fileReadArray(@Nonnull
                                             File file)
                              throws IOException
file - the file path
IOException
public static void fileAppend(@Nonnull
                              String fileName,
                              @Nonnull
                              String data)
                       throws IOException
fileName - The path of the file to write.data - The content to write to the file.
IOException - if any
public static void fileAppend(@Nonnull
                              String fileName,
                              @Nullable
                              String encoding,
                              @Nonnull
                              String data)
                       throws IOException
fileName - The path of the file to write.encoding - The encoding of the file.data - The content to write to the file.
IOException - if any
public static void fileWrite(@Nonnull
                             String fileName,
                             @Nonnull
                             String data)
                      throws IOException
fileName - The path of the file to write.data - The content to write to the file.
IOException - if any
public static void fileWrite(@Nonnull
                             String fileName,
                             @Nullable
                             String encoding,
                             @Nonnull
                             String data)
                      throws IOException
fileName - The path of the file to write.encoding - The encoding of the file.data - The content to write to the file.
IOException - if any
public static void fileWrite(@Nonnull
                             File file,
                             @Nullable
                             String encoding,
                             @Nonnull
                             String data)
                      throws IOException
file - The path of the file to write.encoding - The encoding of the file.data - The content to write to the file.
IOException - if any
public static void fileWriteArray(@Nonnull
                                  File file,
                                  @Nullable
                                  String... data)
                           throws IOException
file - The path of the file to write.data - The content to write to the file.
IOException - if any
public static void fileWriteArray(@Nonnull
                                  File file,
                                  @Nullable
                                  String encoding,
                                  @Nullable
                                  String... data)
                           throws IOException
file - The path of the file to write.encoding - The encoding of the file.data - The content to write to the file.
IOException - if any
public static void fileDelete(@Nonnull
                              String fileName)
fileName - The path of the file to delete.
public static String[] getFilesFromExtension(@Nonnull
                                             String directory,
                                             @Nonnull
                                             String... extensions)
directory - The path of the directory.extensions - an array of expected extensions.
public static void mkdir(@Nonnull
                         String dir)
dir - the directory to create
IllegalArgumentException - if the dir contains illegal Windows characters under Windows OS.INVALID_CHARACTERS_FOR_WINDOWS_FILE_NAME
public static boolean contentEquals(@Nonnull
                                    File file1,
                                    @Nonnull
                                    File file2)
                             throws IOException
file1 - the first filefile2 - the second file
IOException - if any
@Nullable
public static File toFile(@Nullable
                                   URL url)
URL to a File.
url - File URL.
File object, or null if the URL's protocol
 is not file
@Nonnull
public static URL[] toURLs(@Nonnull
                                   File... files)
                    throws IOException
files - the array of files
IOException - if an error occurs
@Nonnull
public static String removeExtension(@Nonnull
                                             String filename)
foo.txt --> foo a\b\c.jpg --> a\b\c a\b\c --> a\b\c
filename - the path of the file
@Nonnull
public static String getExtension(@Nonnull
                                          String filename)
foo.txt --> "txt" a\b\c.jpg --> "jpg" a\b\c --> ""
filename - the path of the file
public static void copyFileToDirectory(@Nonnull
                                       File source,
                                       @Nonnull
                                       File destinationDirectory)
                                throws IOException
destinationDirectory does not exist, it
 (and any parent directories) will be created. If a file source in
 destinationDirectory exists, it will be overwritten.
source - An existing File to copy.destinationDirectory - A directory to copy source into.
FileNotFoundException - if source isn't a normal file.
IllegalArgumentException - if destinationDirectory isn't a directory.
IOException - if source does not exist, the file in
                                       destinationDirectory cannot be written to, or an IO error occurs during copying.
public static void copyFile(@Nonnull
                            File source,
                            @Nonnull
                            File destination)
                     throws IOException
destination will be
 created if they don't already exist. destination will be overwritten if it
 already exists.
source - An existing non-directory File to copy bytes from.destination - A non-directory File to write bytes to (possibly
                    overwriting).
IOException - if source does not exist, destination cannot be
                                       written to, or an IO error occurs during copying.
FileNotFoundException - if destination is a directory
public static void copyURLToFile(@Nonnull
                                 URL source,
                                 @Nonnull
                                 File destination)
                          throws IOException
source to a file destination.
 The directories up to destination will be created if they don't already exist.
 destination will be overwritten if it already exists.
source - A URL to copy bytes from.destination - A non-directory File to write bytes to (possibly
                    overwriting).
IOException - if
                     source URL cannot be openeddestination cannot be written topublic static String normalize(String path)
null if the ..'s went past the
 root.
 Eg:
 /foo// --> /foo/ /foo/./ --> /foo/ /foo/../bar --> /bar /foo/../bar/ --> /bar/ /foo/../bar/../baz --> /baz //foo//./bar --> /foo/bar /../ --> null
path - the path to normalize
null if too many ..'s.
public static File resolveFile(File baseFile,
                               String filename)
filename to it's canonical form. If filename is
 relative (doesn't start with /), it will be resolved relative to
 baseFile, otherwise it is treated as a normal root-relative path.
baseFile - Where to resolve filename from, if filename is
                 relative.filename - Absolute or relative file path to resolve.
File of filename.
public static void forceDelete(String file)
                        throws IOException
file - the file path
IOException - if any
public static void forceDelete(@Nonnull
                               File file)
                        throws IOException
file - a file
IOException - if any
public static void delete(File file)
                   throws IOException
file - The file to delete
IOException - If the file cannot be delted.public static boolean deleteLegacyStyle(File file)
public static void forceMkdir(@Nonnull
                              File file)
                       throws IOException
file - not null
IOException - If there already exists a file with specified name or
                                  the directory is unable to be created
IllegalArgumentException - if the file contains illegal Windows characters under Windows OS.INVALID_CHARACTERS_FOR_WINDOWS_FILE_NAME
public static void deleteDirectory(@Nonnull
                                   String directory)
                            throws IOException
directory - a directory
IOException - if any
public static void deleteDirectory(@Nonnull
                                   File directory)
                            throws IOException
directory - a directory
IOException - if any
public static void cleanDirectory(@Nonnull
                                  File directory)
                           throws IOException
directory - a directory
IOException - if any
public static long sizeOfDirectory(@Nonnull
                                   String directory)
directory - a directory
public static long sizeOfDirectory(@Nonnull
                                   File directory)
directory - a directory
@Nonnull
public static List<File> getFiles(@Nonnull
                                          File directory,
                                          @Nullable
                                          String includes,
                                          @Nullable
                                          String excludes)
                           throws IOException
directory - the directory to scanincludes - the includes pattern, comma separatedexcludes - the excludes pattern, comma separated
IOExceptiongetFileNames(File, String, String, boolean)
@Nonnull
public static List<File> getFiles(@Nonnull
                                          File directory,
                                          @Nullable
                                          String includes,
                                          @Nullable
                                          String excludes,
                                          boolean includeBasedir)
                           throws IOException
directory - the directory to scanincludes - the includes pattern, comma separatedexcludes - the excludes pattern, comma separatedincludeBasedir - true to include the base dir in each file
IOExceptiongetFileNames(File, String, String, boolean)
@Nonnull
public static List<String> getFileNames(@Nonnull
                                                File directory,
                                                @Nullable
                                                String includes,
                                                @Nullable
                                                String excludes,
                                                boolean includeBasedir)
                                 throws IOException
directory - the directory to scanincludes - the includes pattern, comma separatedexcludes - the excludes pattern, comma separatedincludeBasedir - true to include the base dir in each String of file
IOException
@Nonnull
public static List<String> getDirectoryNames(@Nonnull
                                                     File directory,
                                                     @Nullable
                                                     String includes,
                                                     @Nullable
                                                     String excludes,
                                                     boolean includeBasedir)
                                      throws IOException
directory - the directory to scanincludes - the includes pattern, comma separatedexcludes - the excludes pattern, comma separatedincludeBasedir - true to include the base dir in each String of file
IOException
@Nonnull
public static List<String> getDirectoryNames(@Nonnull
                                                     File directory,
                                                     @Nullable
                                                     String includes,
                                                     @Nullable
                                                     String excludes,
                                                     boolean includeBasedir,
                                                     boolean isCaseSensitive)
                                      throws IOException
directory - the directory to scanincludes - the includes pattern, comma separatedexcludes - the excludes pattern, comma separatedincludeBasedir - true to include the base dir in each String of fileisCaseSensitive - true if case sensitive
IOException
@Nonnull
public static List<String> getFileAndDirectoryNames(File directory,
                                                            @Nullable
                                                            String includes,
                                                            @Nullable
                                                            String excludes,
                                                            boolean includeBasedir,
                                                            boolean isCaseSensitive,
                                                            boolean getFiles,
                                                            boolean getDirectories)
directory - the directory to scanincludes - the includes pattern, comma separatedexcludes - the excludes pattern, comma separatedincludeBasedir - true to include the base dir in each String of fileisCaseSensitive - true if case sensitivegetFiles - true if get filesgetDirectories - true if get directories
public static void copyDirectory(File sourceDirectory,
                                 File destinationDirectory)
                          throws IOException
sourceDirectory - the source dirdestinationDirectory - the target dir
IOException - if any
public static void copyDirectory(@Nonnull
                                 File sourceDirectory,
                                 @Nonnull
                                 File destinationDirectory,
                                 @Nullable
                                 String includes,
                                 @Nullable
                                 String excludes)
                          throws IOException
sourceDirectory - the source dirdestinationDirectory - the target dirincludes - include patternexcludes - exlucde pattern
IOException - if anygetFiles(File, String, String)
public static void copyDirectoryStructure(@Nonnull
                                          File sourceDirectory,
                                          @Nonnull
                                          File destinationDirectory)
                                   throws IOException
sourceDirectory must exists.
 
sourceDirectory - the source dirdestinationDirectory - the target dir
IOException - if any
public static void rename(@Nonnull
                          File from,
                          @Nonnull
                          File to)
                   throws IOException
This will remove to (if it exists), ensure that
 to's parent directory exists and move
 from, which involves deleting from as
 well.
from - the file to moveto - the new file name
IOException - if anything bad happens during this process.
                     Note that to may have been deleted already when this happens.
public static File createTempFile(@Nonnull
                                  String prefix,
                                  @Nonnull
                                  String suffix,
                                  @Nullable
                                  File parentDir)
The file denoted by the returned abstract pathname did not exist before this method was invoked, any subsequent invocation of this method will yield a different file name.
The filename is prefixNNNNNsuffix where NNNN is a random numberThis method is different to File.createTempFile(String, String, File) of JDK 1.2
 as it doesn't create the file itself.
 It uses the location pointed to by java.io.tmpdir
 when the parentDir attribute is
 null.
To delete automatically the file created by this method, use the
 File.deleteOnExit() method.
prefix - prefix before the random numbersuffix - file extension; include the '.'parentDir - Directory to create the temporary file in -java.io.tmpdir
                  used if not specificed
public static void copyFile(@Nonnull
                            File from,
                            @Nonnull
                            File to,
                            @Nullable
                            String encoding,
                            @Nullable
                            FileUtils.FilterWrapper... wrappers)
                     throws IOException
from - the file to copyto - the destination fileencoding - the file output encoding (only if wrappers is not empty)wrappers - array of FileUtils.FilterWrapper
IOException - if an IO error occurs during copying or filtering
public static void copyFile(@Nonnull
                            File from,
                            @Nonnull
                            File to,
                            @Nullable
                            String encoding,
                            @Nullable
                            FileUtils.FilterWrapper[] wrappers,
                            boolean overwrite)
                     throws IOException
from - the file to copyto - the destination fileencoding - the file output encoding (only if wrappers is not empty)wrappers - array of FileUtils.FilterWrapperoverwrite - if true and f wrappers is null or empty, the file will be copy
                  enven if to.lastModified() < from.lastModified()
IOException - if an IO error occurs during copying or filtering
@Nonnull
public static List<String> loadFile(@Nonnull
                                            File file)
                             throws IOException
file - the file
IOException - if any
public static boolean isSymbolicLink(File file)
                              throws IOException
It doesn't really test for symbolic links but whether the canonical and absolute paths of the file are identical - this may lead to false positives on some platforms.
file - the file to check
IOException
public static boolean isSymbolicLinkForSure(File file)
                                     throws IOException
file - the file to check
IOException
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||