public final class FileUtils
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
FileUtils.OpenFileResult
Indicates whether a file was successfully opened.
|
| Modifier and Type | Field and Description |
|---|---|
static java.util.List<java.lang.Character> |
INVALID_NAME |
static java.util.List<java.lang.Character> |
INVALID_PATH
list of characters not allowed in filenames
|
| Constructor and Description |
|---|
FileUtils() |
| Modifier and Type | Method and Description |
|---|---|
static void |
createParentDir(java.io.File f)
Tries to create the ancestor directories of file f.
|
static void |
createParentDir(java.io.File f,
java.lang.String eMsg)
Tries to create the ancestor directories of file f.
|
static void |
createRestrictedDirectory(java.io.File directory)
Creates a new directory with minimum permissions.
|
static void |
createRestrictedFile(java.io.File file,
boolean writableByOwner)
Creates a new file with minimum permissions.
|
static void |
deleteWithErrMesg(java.io.File f)
Tries to delete file f.
|
static void |
deleteWithErrMesg(java.io.File f,
java.lang.String eMsg)
Tries to delete file f.
|
static java.lang.String |
displayablePath(java.lang.String path)
Returns a String that is suitable for using in GUI elements for
displaying (long) paths to users.
|
static java.lang.String |
displayablePath(java.lang.String path,
int visibleChars)
Return a String that is suitable for using in GUI elements for displaying
paths to users.
|
static java.lang.String |
getContentOfReader(java.io.Reader r) |
static java.lang.String |
getContentOfStream(java.io.InputStream is)
utility method which can read from any stream as one long String
|
static java.lang.String |
getContentOfStream(java.io.InputStream is,
java.lang.String encoding)
utility method which can read from any stream as one long String
|
static java.nio.channels.FileLock |
getFileLock(java.lang.String path,
boolean shared,
boolean allowBlock)
This will return a lock to the file specified.
|
static byte[] |
getFileMD5Sum(java.io.File file,
java.lang.String algorithm) |
static java.lang.String |
loadFileAsString(java.io.File f) |
static java.lang.String |
loadFileAsString(java.io.File f,
java.lang.String encoding) |
static void |
recursiveDelete(java.io.File file,
java.io.File base)
Recursively delete everything under a directory.
|
static java.lang.String |
sanitizeFileName(java.lang.String filename)
Given an input, return a sanitized form of the input suitable for use as
a file/directory name
|
static java.lang.String |
sanitizeFileName(java.lang.String filename,
char substitute) |
static java.lang.String |
sanitizePath(java.lang.String path)
Clean up a string by removing characters that can't appear in a local
file name.
|
static java.lang.String |
sanitizePath(java.lang.String path,
char substitute) |
static void |
saveFile(java.lang.String content,
java.io.File f)
Method to save String as file in UTF-8 encoding.
|
static void |
saveFile(java.lang.String content,
java.io.File f,
java.lang.String encoding)
Method to save String as file in specified encoding/.
|
static void |
showCouldNotOpenDialog(java.awt.Component frame,
java.lang.String message)
Show a dialog informing the user that the file could not be opened
|
static void |
showCouldNotOpenFileDialog(java.awt.Component frame,
java.lang.String filePath,
FileUtils.OpenFileResult reason)
Show an error dialog indicating the file could not be opened, with a particular reason
|
static void |
showCouldNotOpenFilepathDialog(java.awt.Component frame,
java.lang.String filePath)
Show a generic error dialog indicating the file could not be opened
|
static void |
showReadOnlyDialog(java.awt.Component frame)
Show a dialog informing the user that the file is currently read-only
|
static DirectoryValidator.DirectoryCheckResults |
testDirectoryPermissions(java.io.File file)
Ensure that the parent directory of the file exists and that we are
able to create and access files within this directory
|
static FileUtils.OpenFileResult |
testFilePermissions(java.io.File file)
Verify that a given file object points to a real, accessible plain file.
|
public static final java.util.List<java.lang.Character> INVALID_PATH
public static final java.util.List<java.lang.Character> INVALID_NAME
public static java.lang.String sanitizePath(java.lang.String path)
path - the path to sanitizepublic static java.lang.String sanitizePath(java.lang.String path,
char substitute)
public static java.lang.String sanitizeFileName(java.lang.String filename)
filename - the filename to sanitize.public static java.lang.String sanitizeFileName(java.lang.String filename,
char substitute)
public static void createRestrictedDirectory(java.io.File directory)
throws java.io.IOException
directory - directory to be createdjava.io.IOException - if IO failspublic static void createRestrictedFile(java.io.File file,
boolean writableByOwner)
throws java.io.IOException
file - path to filewritableByOwner - true if can be writable by ownerjava.io.IOException - if IO failspublic static void createParentDir(java.io.File f,
java.lang.String eMsg)
throws java.io.IOException
f - file to provide parent directoryeMsg - - the message to use for the exception. null
if the file name is to be used.java.io.IOException - if the directory can't be created and doesn't exist.public static void createParentDir(java.io.File f)
throws java.io.IOException
f - file which parent will be createdjava.io.IOException - if the directory can't be created and doesn't exist.public static void deleteWithErrMesg(java.io.File f,
java.lang.String eMsg)
f - the file to be deletedeMsg - the message to print on failure (or null to print the
the file name).public static void deleteWithErrMesg(java.io.File f)
f - the file to be deletedpublic static DirectoryValidator.DirectoryCheckResults testDirectoryPermissions(java.io.File file)
file - the File representing a Java Policy file to testDirectoryValidator.DirectoryCheckResults object representing the results of the testpublic static FileUtils.OpenFileResult testFilePermissions(java.io.File file)
file - the File to verifyFileUtils.OpenFileResult representing the accessibility level of the filepublic static void showReadOnlyDialog(java.awt.Component frame)
frame - a JFrame to act as parent to this dialogpublic static void showCouldNotOpenFilepathDialog(java.awt.Component frame,
java.lang.String filePath)
frame - a JFrame to act as parent to this dialogfilePath - a String representing the path to the file we failed to openpublic static void showCouldNotOpenFileDialog(java.awt.Component frame,
java.lang.String filePath,
FileUtils.OpenFileResult reason)
frame - a JFrame to act as parent to this dialogfilePath - a String representing the path to the file we failed to openreason - a FileUtils.OpenFileResult specifying more precisely why we failed to open the filepublic static void showCouldNotOpenDialog(java.awt.Component frame,
java.lang.String message)
frame - a JFrame to act as parent to this dialogmessage - a String giving the specific reason the file could not be openedpublic static java.lang.String displayablePath(java.lang.String path)
path - a path that should be shortenedpublic static java.lang.String displayablePath(java.lang.String path,
int visibleChars)
path - a path that should be shortedvisibleChars - the maximum number of characters that path should fit
into. Also the length of the returned stringpublic static void recursiveDelete(java.io.File file,
java.io.File base)
throws java.io.IOException
file - the file object representing what to delete. Can be either a
file or a directory.base - the directory under which the file and its subdirectories must be locatedjava.io.IOException - on an io exception or if trying to delete something
outside the basepublic static java.nio.channels.FileLock getFileLock(java.lang.String path,
boolean shared,
boolean allowBlock)
throws java.io.FileNotFoundException
path - File path to file we want to lock.shared - Specify if the lock will be a shared lock.allowBlock - Specify if we should block when we can not get the
lock. Getting a shared lock will always block.java.io.FileNotFoundException - If the file does not exist.public static void saveFile(java.lang.String content,
java.io.File f)
throws java.io.IOException
content - which will be saved as it is saved in this Stringf - file to be saved. No warnings providedjava.io.IOException - if save failspublic static void saveFile(java.lang.String content,
java.io.File f,
java.lang.String encoding)
throws java.io.IOException
content - which will be saved as it is saved in this Stringf - file to be saved. No warnings providedencoding - of output byte representationjava.io.IOException - if save failspublic static java.lang.String getContentOfStream(java.io.InputStream is,
java.lang.String encoding)
throws java.io.IOException
is - streamencoding - the encoding to use to convert the bytes from the streamjava.io.IOException - if connection can't be established or resource does not existpublic static java.lang.String getContentOfReader(java.io.Reader r)
throws java.io.IOException
java.io.IOExceptionpublic static java.lang.String getContentOfStream(java.io.InputStream is)
throws java.io.IOException
is - streamjava.io.IOException - if connection can't be established or resource does not existpublic static java.lang.String loadFileAsString(java.io.File f)
throws java.io.IOException
java.io.IOExceptionpublic static java.lang.String loadFileAsString(java.io.File f,
java.lang.String encoding)
throws java.io.IOException
java.io.IOExceptionpublic static byte[] getFileMD5Sum(java.io.File file,
java.lang.String algorithm)
throws java.security.NoSuchAlgorithmException,
java.io.FileNotFoundException,
java.io.IOException
java.security.NoSuchAlgorithmExceptionjava.io.FileNotFoundExceptionjava.io.IOException