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

    Constructors
    Constructor and Description
    `FileUtils()`

  - ### Method Summary

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

Submit a bug or feature