ERXFileUtilities Class Reference

Collaboration diagram for ERXFileUtilities:

Collaboration graph
[legend]

List of all members.

Static Public Member Functions

static NSArray< File > arrayByAddingFilesInDirectory (File directory, boolean recursive)
static byte[] bytesFromFile (File f, int n) throws IOException
static byte[] bytesFromFile (File f) throws IOException
static byte[] bytesFromGZippedFile (File f) throws IOException
static byte[] bytesFromInputStream (InputStream fis, int n) throws IOException
static byte[] bytesFromInputStream (InputStream in) throws IOException
static void chmod (File file, String mode) throws IOException
static void chmodRecursively (File dir, String mode) throws IOException
static void copyFilesFromDirectory (File srcDirectory, File dstDirectory, boolean deleteOriginals, boolean replaceExistingFiles, boolean recursiveCopy, FileFilter filter) throws FileNotFoundException, IOException
static void copyFilesFromDirectory (File srcDirectory, File dstDirectory, boolean deleteOriginals, boolean recursiveCopy, FileFilter filter) throws FileNotFoundException, IOException
static void copyFileToFile (File srcFile, File dstFile, boolean deleteOriginals, boolean forceDelete) throws FileNotFoundException, IOException
static final File createTempDir (String prefix, String suffix) throws IOException
static final File createTempDir () throws IOException
static String datePathWithRoot (String rootPath)
static boolean deleteDirectory (File directory)
static boolean deleteFile (File fileToDelete)
static boolean deleteFiles (NSMutableArray filesToDelete)
static void deleteFilesInDirectory (File directory, FileFilter filter, boolean recurseIntoDirectories, boolean removeDirectories)
static void deleteFilesInDirectory (File directory, boolean recurseIntoDirectories)
static String fileExtension (String name)
static String fileNameFromBrowserSubmittedPath (String path)
static InputStream inputStreamForResourceNamed (String fileName, String frameworkName, NSArray languages)
static long lastModifiedDateForFileInFramework (String fileName, String frameworkName)
static long length (File f)
static void linkFiles (File source, File destination, boolean symbolic, boolean allowUnlink, boolean followSymbolicLinks) throws IOException
static File[] listDirectories (File baseDir, boolean recursive)
static File[] listFiles (File baseDir, boolean recursive, FileFilter filter)
static byte[] md5 (InputStream in) throws IOException
static byte[] md5 (File file) throws IOException
static String md5Hex (InputStream in) throws IOException
static String md5Hex (File file) throws IOException
static String pathForResourceNamed (String fileName, String frameworkName, NSArray languages)
static URL pathURLForResourceNamed (String fileName, String frameworkName, NSArray languages)
static Object readPropertyListFromFileInFramework (String fileName, String aFrameWorkName, NSArray languageList, String encoding)
static Object readPropertyListFromFileInFramework (String fileName, String aFrameWorkName, NSArray languageList)
static Object readPropertyListFromFileInFramework (String fileName, String aFrameWorkName, String encoding)
static Object readPropertyListFromFileInFramework (String fileName, String aFrameWorkName)
static void remoteCopyFile (String srcHost, String srcPath, File dstFile) throws IOException
static void remoteCopyFile (File srcFile, String dstHost, String dstPath) throws IOException
static void remoteCopyFile (String srcHost, String srcPath, String dstHost, String dstPath) throws IOException
static String removeFileExtension (String name)
static void renameTo (File source, File destination) throws FileNotFoundException, IOException
static String replaceFileExtension (String path, String newExtension)
static File reserveUniqueFile (File desiredFile, boolean overwrite) throws IOException
static boolean resourceExists (String fileName, String frameworkName, NSArray languages)
static String shortenFilename (String name, int maxLength)
static String stringFromFile (File f, String encoding) throws IOException
static String stringFromFile (File f) throws IOException
static String stringFromGZippedFile (File f) throws IOException
static String stringFromInputStream (InputStream in) throws IOException
static String stringFromInputStream (InputStream in, String encoding) throws IOException
static String stringFromURL (URL url) throws IOException
static void stringToFile (String s, File f, String encoding) throws IOException
static void stringToFile (String s, File f) throws IOException
static void stringToGZippedFile (String s, File f) throws IOException
static File unzipFile (File f, File destination) throws IOException
static URL URLFromFile (File file)
static URL URLFromPath (String fileName)
static void writeInputStreamToFile (InputStream stream, File file) throws IOException
static void writeInputStreamToFile (File f, InputStream is) throws IOException
static void writeInputStreamToGZippedFile (InputStream stream, File file) throws IOException
static void writeInputStreamToOutputStream (InputStream in, boolean closeInputStream, OutputStream out, boolean closeOutputStream) throws IOException
static void writeInputStreamToOutputStream (InputStream in, OutputStream out) throws IOException
static File writeInputStreamToTempFile (InputStream stream, String prefix, String suffix) throws IOException
static File writeInputStreamToTempFile (InputStream stream) throws IOException
static void writeUrlToTempFile (URL url, File file) throws IOException
static void writeUrlToTempFile (String url, File file) throws IOException
static File writeUrlToTempFile (URL url, String prefix, String suffix) throws IOException
static File writeUrlToTempFile (String url, String prefix, String suffix) throws IOException
static File zipFile (File f, boolean absolutePaths, boolean deleteOriginal, boolean forceDelete, int level) throws IOException
static File zipFile (File f, boolean absolutePaths, boolean deleteOriginal, boolean forceDelete) throws IOException

Static Public Attributes

static final Logger log = Logger.getLogger(ERXFileUtilities.class)


Detailed Description

Collection of handy {java.io.File} utilities.

Member Function Documentation

static NSArray<File> arrayByAddingFilesInDirectory ( File  directory,
boolean  recursive 
) [static]

Creates a new NSArray which contains all files in the specified directory.

Parameters:
directory the directory from which to add the files
recursive if true then files are added recursively meaning subdirectories are scanned, too.
Returns:
a NSArray containing the files in the directory. If the specified directory does not exist then the array is empty.

static byte [] bytesFromFile ( File  f,
int  n 
) throws IOException [static]

Returns an array of the first n bytes for a given file.

Parameters:
f file to get the bytes from
n number of bytes to read from input file
Exceptions:
IOException if things go wrong
Returns:
byte array of the first n bytes from the file.

static byte [] bytesFromFile ( File  f  )  throws IOException [static]

Returns the byte array for a given file.

Parameters:
f file to get the bytes from
Exceptions:
IOException if things go wrong
Returns:
byte array of the file.

static byte [] bytesFromGZippedFile ( File  f  )  throws IOException [static]

Returns the byte array for a given gzipped file.

Parameters:
f file to get the bytes from
Exceptions:
IOException if things go wrong
Returns:
byte array of the file.

static byte [] bytesFromInputStream ( InputStream  fis,
int  n 
) throws IOException [static]

Returns an array of the first n bytes for a given input stream

Parameters:
fis inputstream to get the bytes from
n number of bytes to read from input stream
Exceptions:
IOException if things go wrong
Returns:
byte array of the first n bytes from the file.

static byte [] bytesFromInputStream ( InputStream  in  )  throws IOException [static]

Returns the byte array for a given stream.

Parameters:
in stream to get the bytes from
Exceptions:
IOException if things go wrong
Returns:
byte array of the stream.

static void chmod ( File  file,
String  mode 
) throws IOException [static]

Java wrapper for call out to chmod. Only works if your OS supports the chmod command.

Parameters:
file the File to run chmod on
mode see the chmod man page
Exceptions:
IOException if things go wrong

static void chmodRecursively ( File  dir,
String  mode 
) throws IOException [static]

Java wrapper for call out to chmod with -R parameter for recursive processing. Only works if your OS supports the chmod command.

Parameters:
dir the File to run chmod on
mode see the chmod man page
Exceptions:
IOException if things go wrong

static void copyFilesFromDirectory ( File  srcDirectory,
File  dstDirectory,
boolean  deleteOriginals,
boolean  replaceExistingFiles,
boolean  recursiveCopy,
FileFilter  filter 
) throws FileNotFoundException, IOException [static]

Copies all of the files in a given directory to another directory.

Parameters:
srcDirectory source directory
dstDirectory destination directory
deleteOriginals tells if the original files, the file is deleted even if appuser has no write rights. This is compareable to a rm -f filename instead of rm filename
replaceExistingFiles true if the destination should be overwritten if it already exists
recursiveCopy specifies if directories should be recursively copied
filter which restricts the files to be copied

static void copyFilesFromDirectory ( File  srcDirectory,
File  dstDirectory,
boolean  deleteOriginals,
boolean  recursiveCopy,
FileFilter  filter 
) throws FileNotFoundException, IOException [static]

Copies all of the files in a given directory to another directory. Existing files are replaced.

Parameters:
srcDirectory source directory
dstDirectory destination directory
deleteOriginals tells if the original files, the file is deleted even if appuser has no write rights. This is compareable to a rm -f filename instead of rm filename
recursiveCopy specifies if directories should be recursively copied
filter which restricts the files to be copied

static void copyFileToFile ( File  srcFile,
File  dstFile,
boolean  deleteOriginals,
boolean  forceDelete 
) throws FileNotFoundException, IOException [static]

Copys the source file to the destination

Parameters:
srcFile source file
dstFile destination file
deleteOriginals tells if original file will be deleted. Note that if the appuser has no write rights on the file it is NOT deleted unless force delete is true
forceDelete if true then missing write rights are ignored and the file is deleted.

static final File createTempDir ( String  prefix,
String  suffix 
) throws IOException [static]

Creates a temporary directory.

Returns:
a temporary directory
Exceptions:
IOException if something goes wrong

static final File createTempDir (  )  throws IOException [static]

Creates a temporary directory.

Returns:
a temporary directory
Exceptions:
IOException if something goes wrong

static String datePathWithRoot ( String  rootPath  )  [static]

Returns a path containing an optional root with a directory hierarchy based on the current time

Parameters:
rootPath Root of the path before the above the date directories
Returns:
the path based on time.

static boolean deleteDirectory ( File  directory  )  [static]

Deletes a given directory in a recursive fashion.

Parameters:
directory to be deleted
Returns:
if the directory deleted successfully

static boolean deleteFile ( File  fileToDelete  )  [static]

static boolean deleteFiles ( NSMutableArray  filesToDelete  )  [static]

Deletes all files in filesToDelete uses the methdo deleteDirectory

Parameters:
filesToDelete 

static void deleteFilesInDirectory ( File  directory,
FileFilter  filter,
boolean  recurseIntoDirectories,
boolean  removeDirectories 
) [static]

Deletes all of the files in a given directory with the option to recursively delete all of the files in the given directory.

Parameters:
directory to delete all of the files from
filter optional FileFilter to restrict what gets deleted, null to delete everything
recurseIntoDirectories determines if the delete is recursive
removeDirectories true if directories should be removed as well as files, false to only remove files

static void deleteFilesInDirectory ( File  directory,
boolean  recurseIntoDirectories 
) [static]

Deletes all of the files in a given directory with the option to recursively delete all of the directories in the given directory.

Parameters:
directory to delete all of the files from
recurseIntoDirectories determines if the delete is recursive

static String fileExtension ( String  name  )  [static]

returns the fileExtension from the specified filename

Parameters:
name the name of the file
Returns:
the fileExtension

static String fileNameFromBrowserSubmittedPath ( String  path  )  [static]

Returns the file name portion of a browser submitted path.

Parameters:
path the full path from the browser
Returns:
the file name portion

static InputStream inputStreamForResourceNamed ( String  fileName,
String  frameworkName,
NSArray  languages 
) [static]

Get the input stream from the specified Resource.

Parameters:
fileName name of the file
frameworkName name of the framework, null or "app" for the application bundle
Returns:
the absolutePath method off of the file object

static long lastModifiedDateForFileInFramework ( String  fileName,
String  frameworkName 
) [static]

Determines the last modification date for a given file in a framework. Note that this method will only test for the global resource not the localized resources.

Parameters:
fileName name of the file
frameworkName name of the framework, null or "app" for the application bundle
Returns:
the lastModified method off of the file object

static long length ( File  f  )  [static]

static void linkFiles ( File  source,
File  destination,
boolean  symbolic,
boolean  allowUnlink,
boolean  followSymbolicLinks 
) throws IOException [static]

Creates a symlink for a given file. Note this only works on civilized OSs which support symbolic linking.

Parameters:
source to create the link to
destination file to create the link to
symbolic determines if a symlink should be created
allowUnlink determines if the symlink is a hardlink which allows unlinking
followSymbolicLinks If the destination is a symbolic link, follow it
Exceptions:
IOException 

static File [] listDirectories ( File  baseDir,
boolean  recursive 
) [static]

Lists all directories in the specified directory, is desired recursive.

Parameters:
baseDir the dir from which to list the child directories
recursive if true this methods works recursively
Returns:
an array of files which are directories

static File [] listFiles ( File  baseDir,
boolean  recursive,
FileFilter  filter 
) [static]

Lists all files in the specified directory, if desired recursively.

Parameters:
baseDir the dir from which to list the child files
recursive if true this method works recursively
filter filter to match the files against. If null, all files will be included.
Returns:
an array of files

static byte [] md5 ( InputStream  in  )  throws IOException [static]

Generate an MD5 hash from an input stream.

Parameters:
in the input stream to sum
Returns:
the MD5 sum of the bytes in file
Exceptions:
IOException 

static byte [] md5 ( File  file  )  throws IOException [static]

Generate an MD5 hash from a file.

Parameters:
file the file to sum
Returns:
the MD5 sum of the bytes in file
Exceptions:
IOException 

static String md5Hex ( InputStream  in  )  throws IOException [static]

Generate an MD5 hash from an input stream.

Parameters:
in the input stream to sum
Returns:
the hex encoded MD5 sum of the bytes in file
Exceptions:
IOException 

static String md5Hex ( File  file  )  throws IOException [static]

Generate an MD5 hash from a file.

Parameters:
file the file to sum
Returns:
the hex encoded MD5 sum of the bytes in file
Exceptions:
IOException 

static String pathForResourceNamed ( String  fileName,
String  frameworkName,
NSArray  languages 
) [static]

Determines the path of the specified Resource. This is done to get a single entry point due to the deprecation of pathForResourceNamed

Parameters:
fileName name of the file
frameworkName name of the framework, null or "app" for the application bundle
Returns:
the absolutePath method off of the file object

static URL pathURLForResourceNamed ( String  fileName,
String  frameworkName,
NSArray  languages 
) [static]

Determines the path URL of the specified Resource. This is done to get a single entry point due to the deprecation of pathForResourceNamed. In a later version this will call out to the resource managers new methods directly.

Parameters:
fileName name of the file
frameworkName name of the framework, null or "app" for the application bundle
Returns:
the absolutePath method off of the file object

static Object readPropertyListFromFileInFramework ( String  fileName,
String  aFrameWorkName,
NSArray  languageList,
String  encoding 
) [static]

Reads a file in from the file system for the given set of languages and then parses the file as if it were a property list, using the specified encoding.

Parameters:
fileName name of the file
aFrameWorkName name of the framework, null or 'app' for the application bundle.
languageList language list search order
encoding the encoding used with fileName
Returns:
de-serialized object from the plist formatted file specified.

static Object readPropertyListFromFileInFramework ( String  fileName,
String  aFrameWorkName,
NSArray  languageList 
) [static]

Reads a file in from the file system for the given set of languages and then parses the file as if it were a property list, using the platform's default encoding.

Parameters:
fileName name of the file
aFrameWorkName name of the framework, null or 'app' for the application bundle.
languageList language list search order
Returns:
de-serialized object from the plist formatted file specified.

static Object readPropertyListFromFileInFramework ( String  fileName,
String  aFrameWorkName,
String  encoding 
) [static]

Reads a file in from the file system and then parses it as if it were a property list, using the specified encoding.

Parameters:
fileName name of the file
aFrameWorkName name of the framework, null or 'app' for the application bundle.
encoding the encoding used with fileName
Returns:
de-serialized object from the plist formatted file specified.

static Object readPropertyListFromFileInFramework ( String  fileName,
String  aFrameWorkName 
) [static]

Reads a file in from the file system and then parses it as if it were a property list, using the platform's default encoding.

Parameters:
fileName name of the file
aFrameWorkName name of the framework, null or 'app' for the application bundle.
Returns:
de-serialized object from the plist formatted file specified.

static void remoteCopyFile ( String  srcHost,
String  srcPath,
File  dstFile 
) throws IOException [static]

Copy a file across hosts using scp.

Parameters:
srcHost host to send from (null if file is local)
srcPath path on srcHost to read from
dstFile local file to write to

static void remoteCopyFile ( File  srcFile,
String  dstHost,
String  dstPath 
) throws IOException [static]

Copy a file across hosts using scp.

Parameters:
srcFile local file to send
dstHost host to send to (null if file is local)
dstPath path on srcHost to write to

static void remoteCopyFile ( String  srcHost,
String  srcPath,
String  dstHost,
String  dstPath 
) throws IOException [static]

Copy a file across hosts using scp.

Parameters:
srcHost host to send from (null if file is local)
srcPath path on srcHost to read from
dstHost host to send to (null if file is local)
dstPath path on srcHost to write to

static String removeFileExtension ( String  name  )  [static]

returns the filename without its fileExtension

Parameters:
name the name of the file
Returns:
the name of the file without the fileExtension

static void renameTo ( File  source,
File  destination 
) throws FileNotFoundException, IOException [static]

moves a file from one location to another one. This works different than java.io.File.renameTo as renameTo does not work across partitions

Parameters:
source 
destination 
Exceptions:
IOException 
FileNotFoundException 

static String replaceFileExtension ( String  path,
String  newExtension 
) [static]

Replaces the extension of the given file with the new extension.

Parameters:
path the path of the file.
newExtension the new extension.
Returns:
the new path.

static File reserveUniqueFile ( File  desiredFile,
boolean  overwrite 
) throws IOException [static]

Reserves a unique file on the filesystem based on the given file name. If the given file cannot be reserved, then "-1", "-2", etc will be appended to the filename in front of the extension until a unique file name is found. This will also ensure that the parent folder is created.

Parameters:
desiredFile the desired destination file to write
overwrite if true, this will immediately return desiredFile
Returns:
a unique, reserved, filename
Exceptions:
IOException if the file cannot be created

static boolean resourceExists ( String  fileName,
String  frameworkName,
NSArray  languages 
) [static]

Determines if a given resource exists. This is done to get a single entry point due to the deprecation of pathForResourceNamed

Parameters:
fileName name of the file
frameworkName name of the framework, null or "app" for the application bundle
Returns:
the absolutePath method off of the file object

static String shortenFilename ( String  name,
int  maxLength 
) [static]

shortens a filename, for example aVeryLongFileName.java -> aVer...Name.java

Parameters:
name the name to modify
maxLength the maximum length of the name. maxLength values under 4 have no effect, the returned string is always a....java
Returns:
the shortened filename

static String stringFromFile ( File  f,
String  encoding 
) throws IOException [static]

Returns a string from the file using the specified encoding.

Parameters:
f file to read
encoding to be used, null will use the default
Returns:
string representation of the file.

static String stringFromFile ( File  f  )  throws IOException [static]

Returns a string from the file using the default encoding.

Parameters:
f file to read
Returns:
string representation of that file.

static String stringFromGZippedFile ( File  f  )  throws IOException [static]

Returns a string from the gzipped file using the default encoding.

Parameters:
f file to read
Returns:
string representation of that file.

static String stringFromInputStream ( InputStream  in  )  throws IOException [static]

Returns a string from the input stream using the default encoding.

Parameters:
in stream to read
Returns:
string representation of the stream.

static String stringFromInputStream ( InputStream  in,
String  encoding 
) throws IOException [static]

Returns a string from the input stream using the specified encoding.

Parameters:
in stream to read
encoding to be used, null will use the default
Returns:
string representation of the stream.

static String stringFromURL ( URL  url  )  throws IOException [static]

Returns the String from the contents of the given URL.

Parameters:
url the URL to read from
Returns:
the String contents of the URL
Exceptions:
IOException if an error occurs

static void stringToFile ( String  s,
File  f,
String  encoding 
) throws IOException [static]

Writes the contents of s to f using specified encoding.

Parameters:
s the string to be written to file
f the destination file
encoding the desired encoding

static void stringToFile ( String  s,
File  f 
) throws IOException [static]

Writes the contents of s to f using the platform's default encoding.

Parameters:
s the string to be written to file
f the destination file

static void stringToGZippedFile ( String  s,
File  f 
) throws IOException [static]

static File unzipFile ( File  f,
File  destination 
) throws IOException [static]

Decompresses the specified zipfile. If the file is a compressed directory, the whole subdirectory structure is created as a subdirectory with the name if the zip file minus the .zip extension from destination. All intermittent directories are also created. If destination is null then the System Property "java.io.tmpdir" is used as destination for the uncompressed file(s).

Parameters:
f The file to unzip
destination the destination directory. If directory is null then the file will be unzipped in java.io.tmpdir, if it does not exist, then a directory is created and if it exists but is a file then the destination is set to the directory in which the file is located.
Returns:
the file or directory in which the zipfile was unzipped
Exceptions:
IOException 

static URL URLFromFile ( File  file  )  [static]

Create an URL for a given file.

Parameters:
file name of the file
Returns:
file:// URL for the given path

static URL URLFromPath ( String  fileName  )  [static]

Create an URL for a given path.

Parameters:
fileName path of the file
Returns:
file:// URL for the given path

static void writeInputStreamToFile ( InputStream  stream,
File  file 
) throws IOException [static]

Writes the contents of an InputStream to a specified file.

Parameters:
file to write to
stream to pull data from

static void writeInputStreamToFile ( File  f,
InputStream  is 
) throws IOException [static]

static void writeInputStreamToGZippedFile ( InputStream  stream,
File  file 
) throws IOException [static]

static void writeInputStreamToOutputStream ( InputStream  in,
boolean  closeInputStream,
OutputStream  out,
boolean  closeOutputStream 
) throws IOException [static]

Copies the contents of the input stream to the given output stream.

Parameters:
in the input stream to copy from
closeInputStream if true, the input stream will be closed
out the output stream to copy to
closeOutputStream if true, the output stream will be closed
Exceptions:
IOException if there is any failure

static void writeInputStreamToOutputStream ( InputStream  in,
OutputStream  out 
) throws IOException [static]

Copies the contents of the input stream to the given output stream. Both streams are guaranteed to be closed by the end of this method.

Parameters:
in the input stream to copy from
out the output stream to copy to
Exceptions:
IOException if there is any failure

static File writeInputStreamToTempFile ( InputStream  stream,
String  prefix,
String  suffix 
) throws IOException [static]

Writes the contents of an InputStream to a temporary file.

Parameters:
stream to pull data from
prefix the filename prefix of the temp file
suffix the filename suffix of the temp file
Returns:
the temp file that was created

static File writeInputStreamToTempFile ( InputStream  stream  )  throws IOException [static]

Writes the contents of an InputStream to a temporary file.

Parameters:
stream to pull data from
Returns:
the temp file that was created

static void writeUrlToTempFile ( URL  url,
File  file 
) throws IOException [static]

Copies the contents of the given URL to a file.

Parameters:
url the URL to copy from
file the File to write to
Exceptions:
IOException if the copy fails

static void writeUrlToTempFile ( String  url,
File  file 
) throws IOException [static]

Copies the contents of the given URL to a file.

Parameters:
url the URL to copy from
file the File to write to
Exceptions:
IOException if the copy fails

static File writeUrlToTempFile ( URL  url,
String  prefix,
String  suffix 
) throws IOException [static]

Copies the contents of the given URL to a temporary file.

Parameters:
url the URL to copy from
prefix the temporary file prefix
suffix the temporary file suffix (if null, the extension from the URL is used)
Returns:
the temporary file
Exceptions:
IOException if the copy fails

static File writeUrlToTempFile ( String  url,
String  prefix,
String  suffix 
) throws IOException [static]

Copies the contents of the given URL to a temporary file.

Parameters:
url the URL to copy from
prefix the temporary file prefix
suffix the temporary file suffix (if null, the extension from the URL is used)
Returns:
the temporary file
Exceptions:
IOException if the copy fails

static File zipFile ( File  f,
boolean  absolutePaths,
boolean  deleteOriginal,
boolean  forceDelete,
int  level 
) throws IOException [static]

static File zipFile ( File  f,
boolean  absolutePaths,
boolean  deleteOriginal,
boolean  forceDelete 
) throws IOException [static]

zips a given File.

Parameters:
f the file to zip, either a file or a directory
absolutePaths if true then the files are added with absolute paths
deleteOriginal if true then the original file is deleted
forceDelete if true then the original is deleted even if the file is read only


Member Data Documentation

final Logger log = Logger.getLogger(ERXFileUtilities.class) [static]

logging support


The documentation for this class was generated from the following file:

Generated on Sat May 26 06:43:13 2012 for Project Wonder by  doxygen 1.5.8