public class FileUtils extends Object
Modifier and Type | Field and Description |
---|---|
static int |
EMPTY_DIRECTORIES_ONLY
Option to only delete empty directories.
|
static int |
IGNORE_ERRORS
Option not to throw exceptions when a deletion finally doesn't succeed.
|
static int |
NONE
Option to delete given
File |
static int |
RECURSIVE
Option to recursively delete given
File |
static int |
RETRY
Option to retry deletion if not successful
|
static int |
SKIP_MISSING
Option to skip deletion if file doesn't exist
|
Constructor and Description |
---|
FileUtils() |
Modifier and Type | Method and Description |
---|---|
static void |
createNewFile(File f)
Atomically creates a new, empty file named by this abstract pathname if
and only if a file with this name does not yet exist.
|
static void |
createSymLink(File path,
String target)
Create a symbolic link
|
static File |
createTempDir(String prefix,
String suffix,
File dir)
Create a temporary directory.
|
static void |
delete(File f)
Delete file or empty folder
|
static void |
delete(File f,
int options)
Delete file or folder
|
static void |
mkdir(File d)
Creates the directory named by this abstract pathname.
|
static void |
mkdir(File d,
boolean skipExisting)
Creates the directory named by this abstract pathname.
|
static void |
mkdirs(File d)
Creates the directory named by this abstract pathname, including any
necessary but nonexistent parent directories.
|
static void |
mkdirs(File d,
boolean skipExisting)
Creates the directory named by this abstract pathname, including any
necessary but nonexistent parent directories.
|
static String |
readSymLink(File path) |
static String |
relativize(String base,
String other)
This will try and make a given path relative to another.
|
static void |
rename(File src,
File dst)
Rename a file or folder.
|
public static final int NONE
File
public static final int RECURSIVE
File
public static final int RETRY
public static final int SKIP_MISSING
public static final int IGNORE_ERRORS
public static final int EMPTY_DIRECTORIES_ONLY
RECURSIVE
public static void delete(File f) throws IOException
f
- File
to be deletedIOException
- if deletion of f
fails. This may occur if f
didn't exist when the method was called. This can therefore
cause IOExceptions during race conditions when multiple
concurrent threads all try to delete the same file.public static void delete(File f, int options) throws IOException
f
- File
to be deletedoptions
- deletion options, RECURSIVE
for recursive deletion of
a subtree, RETRY
to retry when deletion failed.
Retrying may help if the underlying file system doesn't allow
deletion of files being read by another thread.IOException
- if deletion of f
fails. This may occur if f
didn't exist when the method was called. This can therefore
cause IOExceptions during race conditions when multiple
concurrent threads all try to delete the same file. This
exception is not thrown when IGNORE_ERRORS is set.public static void rename(File src, File dst) throws IOException
This operation is not atomic.
src
- the old File
dst
- the new File
IOException
- if the rename has failedFS.retryFailedLockFileCommit()
public static void mkdir(File d) throws IOException
d
- directory to be createdIOException
- if creation of d
fails. This may occur if d
did exist when the method was called. This can therefore
cause IOExceptions during race conditions when multiple
concurrent threads all try to create the same directory.public static void mkdir(File d, boolean skipExisting) throws IOException
d
- directory to be createdskipExisting
- if true
skip creation of the given directory if it
already exists in the file systemIOException
- if creation of d
fails. This may occur if d
did exist when the method was called. This can therefore
cause IOExceptions during race conditions when multiple
concurrent threads all try to create the same directory.public static void mkdirs(File d) throws IOException
d
- directory to be createdIOException
- if creation of d
fails. This may occur if d
did exist when the method was called. This can therefore
cause IOExceptions during race conditions when multiple
concurrent threads all try to create the same directory.public static void mkdirs(File d, boolean skipExisting) throws IOException
d
- directory to be createdskipExisting
- if true
skip creation of the given directory if it
already exists in the file systemIOException
- if creation of d
fails. This may occur if d
did exist when the method was called. This can therefore
cause IOExceptions during race conditions when multiple
concurrent threads all try to create the same directory.public static void createNewFile(File f) throws IOException
Note: this method should not be used for file-locking, as the resulting
protocol cannot be made to work reliably. The FileLock
facility
should be used instead.
f
- the file to be createdIOException
- if the named file already exists or if an I/O error occurredpublic static void createSymLink(File path, String target) throws IOException
path
- target
- IOException
public static String readSymLink(File path) throws IOException
path
- IOException
public static File createTempDir(String prefix, String suffix, File dir) throws IOException
prefix
- suffix
- dir
- The parent dir, can be null to use system default temp dir.IOException
public static String relativize(String base, String other)
For example, if this is called with the two following paths :
This will return "..\\another_project\\pom.xml".base = "c:\\Users\\jdoe\\eclipse\\git\\project"
other = "c:\\Users\\jdoe\\eclipse\\git\\another_project\\pom.xml"
This method uses File.separator
to split the paths into segments.
Note that this will return the empty String if base
and other
are equal.
base
- The path against which other
should be
relativized. This will be assumed to denote the path to a
folder and not a file.other
- The path that will be made relative to base
.base
,
will yield the original other
.Copyright © 2015. All rights reserved.