org.apache.maven.doxia.util

Class FileUtil


public class FileUtil
extends java.lang.Object

A collection of utility functions (static methods) operating on files and directories.

Method Summary

static void
copyFile(String srcFileName, String dstFileName)
Copy a file.
static String
defaultEncoding()
Returns the default character encoding for this platform.
static void
emptyDirectory(File dir)
Recursively deletes all the entries of a directory.
static void
emptyDirectory(String dirName)
Recursively deletes all the entries of a directory.
static String
fileBaseName(String fileName)
Returns the base name part in a file path name.
static String
fileDirName(String fileName)
Returns the directory part in a file path name.
static String
fileExtension(String fileName)
Returns the file extension part in a file path name.
static URL
fileToURL(File file)
Converts a File to a file: URL.
static URL
fileToURL(String fileName)
Converts a file name to a file: URL.
static String
fileToURLName(String fileName)
Converts a file name to a file: URL name.
static boolean
isGzipped(String fileName)
Tests if a file has been compressed using gzip.
static byte[]
loadBytes(InputStream source)
Loads the content of an InputStream returning binary data.
static byte[]
loadBytes(String fileName)
Loads the content of a binary file.
static byte[]
loadBytes(URL url)
Loads the content of an URL containing binary data.
static String
loadGzippedString(InputStream source, String encoding)
Loads the content of an InputStream returning text compressed using gzip.
static String
loadGzippedString(String fileName)
Loads the content of a text file compressed using gzip.
static String
loadGzippedString(URL url)
Loads the content of an URL containing text compressed using gzip.
static String
loadString(InputStream stream)
Loads the content of an InputStream returning text.
static String
loadString(String fileName)
Loads the content of a text file.
static String
loadString(URL url)
Loads the content of an URL containing text.
static void
main(String[] args)
A simple test for all functions dealing with file path names.
static boolean
removeFile(File file, boolean force)
Deletes a file or a directory, possibly emptying the directory before deleting it.
static boolean
removeFile(String fileName)
Deletes a file or an empty directory.
static boolean
removeFile(String fileName, boolean force)
Deletes a file or a directory, possibly emptying the directory before deleting it.
static void
saveString(String string, OutputStream stream)
Saves some text to an OutputStream.
static void
saveString(String string, String fileName)
Saves some text to a file.
static String
trimFileExtension(String fileName)
Returns a file path name without its file extension part.
static File
urlToFile(String urlName)
Converts a file: URL name to a File.
static File
urlToFile(URL url)
Converts a file: URL to a File.
static String
urlToFileName(String urlName)
Converts a file: URL name to a file name.

Method Details

copyFile

public static void copyFile(String srcFileName,
                            String dstFileName)
            throws IOException
Copy a file.
Parameters:
srcFileName - the name of the copied file
dstFileName - the name of the copy

defaultEncoding

public static String defaultEncoding()
Returns the default character encoding for this platform.
Returns:
default character encoding for this platform

emptyDirectory

public static void emptyDirectory(File dir)
Recursively deletes all the entries of a directory.
Parameters:
dir - the directory to be emptied

emptyDirectory

public static void emptyDirectory(String dirName)
Recursively deletes all the entries of a directory.
Parameters:
dirName - the name of the directory to be emptied

fileBaseName

public static String fileBaseName(String fileName)
Returns the base name part in a file path name. The base name part is everything after the last file name separator (that is '\' for Windows).

On Windows, '/' is used as an alternate file path name separator.

Path Result
util/FileUtil.java FileUtil.java
FileUtil.java FileUtil.java
Parameters:
fileName - a file path name
Returns:
the base name part

fileDirName

public static String fileDirName(String fileName)
Returns the directory part in a file path name. The directory part is everything before the last file path name separator (that is, '\' for Windows).

On Windows, '/' is used as an alternate file path name separator.

Examples:

Path Result
util/FileUtil.java util
FileUtil.java . (dot)
Parameters:
fileName - a file path name
Returns:
the directory part

fileExtension

public static String fileExtension(String fileName)
Returns the file extension part in a file path name. The file extension part is everything after the last dot.

On Windows, '/' is used as an alternate file path name separator.

Path Result
util/FileUtil.java .java
makefile "" (empty string)
/home/hussein/.profile "" (empty string)
Parameters:
fileName - a file path name
Returns:
the file extension part; does not include the dot

If the base name without its extension is empty, the path is considered not to have an extension part. This is the case of /home/hussein/.profile in the examples above.


fileToURL

public static URL fileToURL(File file)
Converts a File to a file: URL.
Parameters:
file - the file to be converted
Returns:
the result of the conversion

fileToURL

public static URL fileToURL(String fileName)
Converts a file name to a file: URL.
Parameters:
fileName - the file name to be converted
Returns:
the result of the conversion

fileToURLName

public static String fileToURLName(String fileName)
Converts a file name to a file: URL name.
Parameters:
fileName - the file name to be converted
Returns:
the result of the conversion

isGzipped

public static boolean isGzipped(String fileName)
            throws IOException
Tests if a file has been compressed using gzip.
Parameters:
fileName - the name of the file to be tested
Returns:
true if the file has been gzip-ed, false otherwise

loadBytes

public static byte[] loadBytes(InputStream source)
            throws IOException
Loads the content of an InputStream returning binary data.
Parameters:
source - the binary data source
Returns:
the loaded bytes

loadBytes

public static byte[] loadBytes(String fileName)
            throws IOException
Loads the content of a binary file.
Parameters:
fileName - the name of the binary file
Returns:
the loaded bytes

loadBytes

public static byte[] loadBytes(URL url)
            throws IOException
Loads the content of an URL containing binary data.
Parameters:
url - the URL of the binary data
Returns:
the loaded bytes

loadGzippedString

public static String loadGzippedString(InputStream source,
                                       String encoding)
            throws IOException
Loads the content of an InputStream returning text compressed using gzip.
Parameters:
source - the gzip-ed data source
encoding - the encoding of the text before compression
Returns:
the loaded String

loadGzippedString

public static String loadGzippedString(String fileName)
            throws IOException
Loads the content of a text file compressed using gzip.
Parameters:
fileName - the name of the gzip-ed file; the encoding of the text before compression is assumed to be the default encoding of the platform
Returns:
the loaded String

loadGzippedString

public static String loadGzippedString(URL url)
            throws IOException
Loads the content of an URL containing text compressed using gzip.
Parameters:
url - the URL of the gzip-ed data; the encoding of the text before compression is assumed to be the default encoding of the platform
Returns:
the loaded String

loadString

public static String loadString(InputStream stream)
            throws IOException
Loads the content of an InputStream returning text.
Parameters:
stream - the text source
Returns:
the loaded String

loadString

public static String loadString(String fileName)
            throws FileNotFoundException,
                   IOException
Loads the content of a text file.
Parameters:
fileName - the name of the text file
Returns:
the loaded String

loadString

public static String loadString(URL url)
            throws IOException
Loads the content of an URL containing text.
Parameters:
url - the URL of the text resource
Returns:
the loaded String

main

public static void main(String[] args)
A simple test for all functions dealing with file path names.

removeFile

public static boolean removeFile(File file,
                                 boolean force)
Deletes a file or a directory, possibly emptying the directory before deleting it.
Parameters:
file - the file or directory to be deleted
force - if true and the file to be deleted is a non-empty directory, empty it before attempting to delete it; if false, do not empty directories
Returns:
true if the file or directory has been successfully deleted; false otherwise

removeFile

public static boolean removeFile(String fileName)
Deletes a file or an empty directory.
Parameters:
fileName - the name of the file or empty directory to be deleted
Returns:
true if the file or directory has been successfully deleted; false otherwise

removeFile

public static boolean removeFile(String fileName,
                                 boolean force)
Deletes a file or a directory, possibly emptying the directory before deleting it.
Parameters:
fileName - the name of the file or directory to be deleted
force - if true and the file to be deleted is a non-empty directory, empty it before attempting to delete it; if false, do not empty directories
Returns:
true if the file or directory has been successfully deleted; false otherwise

saveString

public static void saveString(String string,
                              OutputStream stream)
            throws IOException
Saves some text to an OutputStream.
Parameters:
string - the text to be saved
stream - the text sink

saveString

public static void saveString(String string,
                              String fileName)
            throws IOException
Saves some text to a file.
Parameters:
string - the text to be saved
fileName - the name of the file

trimFileExtension

public static String trimFileExtension(String fileName)
Returns a file path name without its file extension part. The file extension part is everything after the last dot.

On Windows, '/' is used as an alternate file path name separator.

Path Result
util/FileUtil.java util/FileUtil
makefile makefile
/home/hussein/.profile /home/hussein/.profile
Parameters:
fileName - a file path name
Returns:
the file path without extension part if any

urlToFile

public static File urlToFile(String urlName)
Converts a file: URL name to a File.
Parameters:
urlName - the URL name to be converted
Returns:
the result of the conversion or null if urlName is not a file: URL

urlToFile

public static File urlToFile(URL url)
Converts a file: URL to a File.
Parameters:
url - the URL to be converted
Returns:
the result of the conversion or null if url is not a file: URL

urlToFileName

public static String urlToFileName(String urlName)
Converts a file: URL name to a file name.
Parameters:
urlName - the URL name to be converted
Returns:
the result of the conversion or null if urlName is not a file: URL