IcedTea-Web
NetX

net.sourceforge.jnlp.util
Class FileUtils

java.lang.Object
  extended by net.sourceforge.jnlp.util.FileUtils

public final class FileUtils
extends java.lang.Object

This class contains a few file-related utility functions.


Constructor Summary
FileUtils()
           
 
Method Summary
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.nio.channels.FileLock getFileLock(java.lang.String path, boolean shared, boolean allowBlock)
          This will return a lock to the file specified.
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 sanitizePath(java.lang.String path)
          Clean up a string by removing characters that can't appear in a local file name.
 
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

sanitizePath

public 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.

Parameters:
path - the path to sanitize
Returns:
a sanitized version of the input which is suitable for using as a file path

sanitizeFileName

public 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

Parameters:
filename - the filename to sanitize.
Returns:
a sanitized version of the input

createRestrictedDirectory

public static void createRestrictedDirectory(java.io.File directory)
                                      throws java.io.IOException
Creates a new directory with minimum permissions. The directory is not readable or writable by anyone other than the owner. The parent directories are not created; they must exist before this is called.

Throws:
java.io.IOException

createRestrictedFile

public static void createRestrictedFile(java.io.File file,
                                        boolean writableByOwner)
                                 throws java.io.IOException
Creates a new file with minimum permissions. The file is not readable or writable by anyone other than the owner. If writeableByOnwer is false, even the owner can not write to it.

Throws:
java.io.IOException

createParentDir

public static void createParentDir(java.io.File f,
                                   java.lang.String eMsg)
                            throws java.io.IOException
Tries to create the ancestor directories of file f. Throws an IOException if it can't be created (but not if it was already there).

Parameters:
f -
eMsg - - the message to use for the exception. null if the file name is to be used.
Throws:
java.io.IOException - if the directory can't be created and doesn't exist.

createParentDir

public static void createParentDir(java.io.File f)
                            throws java.io.IOException
Tries to create the ancestor directories of file f. Throws an IOException if it can't be created (but not if it was already there).

Parameters:
f -
Throws:
java.io.IOException - if the directory can't be created and doesn't exist.

deleteWithErrMesg

public static void deleteWithErrMesg(java.io.File f,
                                     java.lang.String eMsg)
Tries to delete file f. If the file exists but couldn't be deleted, print an error message to stderr with the file name, or eMsg if eMsg is not null.

Parameters:
f - the file to be deleted
eMsg - the message to print on failure (or null to print the the file name).

deleteWithErrMesg

public static void deleteWithErrMesg(java.io.File f)
Tries to delete file f. If the file exists but couldn't be deleted, print an error message to stderr with the file name.

Parameters:
f - the file to be deleted

displayablePath

public 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.

Parameters:
path - a path that should be shortened
Returns:
a shortened path suitable for displaying to the user

displayablePath

public 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. If the path is longer than visibleChars, it is truncated in a display-friendly way

Parameters:
path - a path that should be shorted
visibleChars - the maximum number of characters that path should fit into. Also the length of the returned string
Returns:
a shortened path that contains limited number of chars

recursiveDelete

public static void recursiveDelete(java.io.File file,
                                   java.io.File base)
                            throws java.io.IOException
Recursively delete everything under a directory. Works on either files or directories

Parameters:
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 located
Throws:
java.io.IOException - on an io exception or if trying to delete something outside the base

getFileLock

public static java.nio.channels.FileLock getFileLock(java.lang.String path,
                                                     boolean shared,
                                                     boolean allowBlock)
                                              throws java.io.FileNotFoundException
This will return a lock to the file specified.

Parameters:
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.
Returns:
FileLock if we were successful in getting a lock, otherwise null.
Throws:
java.io.FileNotFoundException - If the file does not exist.

IcedTea-Web
NetX

Submit a bug or feature