IcedTea-Web NetX

## net.sourceforge.jnlp.util
Class FileUtils

    java.lang.Object
      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