Package be.panako.util
Class FileUtils
java.lang.Object
be.panako.util.FileUtils
public final class FileUtils
extends java.lang.Object
An utility class for file interaction.
- Author:
 - Joren Six
 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceFileUtils.RowFilter - 
Field Summary
Fields Modifier and Type Field Description static FileUtils.RowFilterACCEPT_ALL_ROWFILTER - 
Method Summary
Modifier and Type Method Description static voidappendFile(java.lang.String contents, java.lang.String name)Appends a string to a file on disk.static java.lang.Stringbasename(java.lang.String fileName)Returns the filename without path and without extension.static java.lang.Stringcombine(java.lang.String... path)Joins path elements using the systems path separator.static voidcopyFileFromJar(java.lang.String source, java.lang.String target)Copy a file from a jar.static voidcp(java.lang.String source, java.lang.String target)Copy from source to target.static booleancreateLock(java.lang.String fileName)static booleanexists(java.lang.String fileName)Checks if a file exists.static java.lang.StringexpandHomeDir(java.lang.String dir)static java.lang.Stringextension(java.lang.String fileName)Return the extension of a file.static intgetIdentifier(java.lang.String resource)Returns an identifier for a resource.static java.lang.StringgetLockFileName(java.lang.String fileName)static java.util.List<java.lang.String>glob(java.lang.String directory, java.lang.String pattern, boolean recursive)Return a list of files in directory that satisfy pattern.static booleanisDirectory(java.lang.String inputFile)Tests whether the file denoted by this abstract pathname is a directory.static booleanisFileLocked(java.lang.String fileName)static booleanmkdirs(java.lang.String path)Creates a directory and parent directories if needed.static java.lang.Stringpath(java.lang.String fileName)Returns the path for a file.
path("/home/user/random.jpg") == "/home/user"
Uses the correct pathSeparator depending on the operating system.static java.util.List<java.lang.String>readColumnFromCSVData(java.util.List<java.lang.String[]> data, int columnIndex, FileUtils.RowFilter filter)static java.lang.StringreadFile(java.lang.String name)Reads the contents of a file.static java.lang.StringreadFileFromJar(java.lang.String path)Reads the contents of a file in a jar.static booleanrm(java.lang.String fileName)Removes a file from disk.static java.lang.StringruntimeDirectory()static java.lang.StringtemporaryDirectory()static voidwriteFile(java.lang.String contents, java.lang.String name)Writes a file to disk.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Field Details
- 
ACCEPT_ALL_ROWFILTER
 
 - 
 - 
Method Details
- 
temporaryDirectory
public static java.lang.String temporaryDirectory() - 
expandHomeDir
public static java.lang.String expandHomeDir(java.lang.String dir) - 
isFileLocked
public static boolean isFileLocked(java.lang.String fileName) - 
createLock
public static boolean createLock(java.lang.String fileName) - 
getLockFileName
public static java.lang.String getLockFileName(java.lang.String fileName) - 
combine
public static java.lang.String combine(java.lang.String... path)Joins path elements using the systems path separator. e.g. "/tmp" and "com.random.test.wav" combined together should yield /tmp/com.random.test.wav on UNIX.- Parameters:
 path- The path parts part.- Returns:
 - Each element from path joined by the systems path separator.
 
 - 
runtimeDirectory
public static java.lang.String runtimeDirectory()- Returns:
 - The path where the program is executed.
 
 - 
writeFile
public static void writeFile(java.lang.String contents, java.lang.String name)Writes a file to disk. Uses the string contents as content. Failures are logged.- Parameters:
 contents- The contents of the file.name- The name of the file to create.
 - 
appendFile
public static void appendFile(java.lang.String contents, java.lang.String name)Appends a string to a file on disk. Fails silently.- Parameters:
 contents- The contents of the file.name- The name of the file to create.
 - 
readFile
public static java.lang.String readFile(java.lang.String name)Reads the contents of a file.- Parameters:
 name- the name of the file to read- Returns:
 - the contents of the file if successful, an empty string otherwise.
 
 - 
readFileFromJar
public static java.lang.String readFileFromJar(java.lang.String path)Reads the contents of a file in a jar.- Parameters:
 path- the path to read e.g. /package/name/here/help.html- Returns:
 - the contents of the file when successful, an empty string otherwise.
 
 - 
copyFileFromJar
public static void copyFileFromJar(java.lang.String source, java.lang.String target)Copy a file from a jar.- Parameters:
 source- The path to read e.g. /package/name/here/help.htmltarget- The target to save the file to.
 - 
readColumnFromCSVData
public static java.util.List<java.lang.String> readColumnFromCSVData(java.util.List<java.lang.String[]> data, int columnIndex, FileUtils.RowFilter filter) - 
glob
public static java.util.List<java.lang.String> glob(java.lang.String directory, java.lang.String pattern, boolean recursive)Return a list of files in directory that satisfy pattern. Pattern should be a valid regular expression not a 'unix glob pattern' so in stead of
*.wavyou could use.*\.wavE.g. in a directory
homewith the filescom.test.txt,blaat.wavandfoobar.wavthe pattern.*\.wavmatchesblaat.wavandfoobar.wav- Parameters:
 directory- A readable directory.pattern- A valid regular expression.recursive- A boolean defining if directories should be traversed recursively.- Returns:
 - a list of filenames matching the pattern for directory.
 - Throws:
 java.lang.Error- an error is thrown if the directory is not ... a directory.java.util.regex.PatternSyntaxException- Unchecked exception thrown to indicate a syntax error in a regular-expression pattern.
 - 
extension
public static java.lang.String extension(java.lang.String fileName)Return the extension of a file.- Parameters:
 fileName- the file to get the extension for- Returns:
 - the extension. E.g. TXT or JPEG.
 
 - 
basename
public static java.lang.String basename(java.lang.String fileName)Returns the filename without path and without extension.- Parameters:
 fileName- The name of the file.- Returns:
 - the file name without extension and path
 
 - 
path
public static java.lang.String path(java.lang.String fileName)Returns the path for a file.
path("/home/user/random.jpg") == "/home/user"
Uses the correct pathSeparator depending on the operating system. On windows c:/com.test/ is not c:\com.test\- Parameters:
 fileName- The name of the file using correct path separators.- Returns:
 - The path of the file.
 
 - 
exists
public static boolean exists(java.lang.String fileName)Checks if a file exists.- Parameters:
 fileName- the name of the file to check.- Returns:
 - true if and only if the file or directory denoted by this abstract pathname exists; false otherwise
 
 - 
mkdirs
public static boolean mkdirs(java.lang.String path)Creates a directory and parent directories if needed.- Parameters:
 path- the path of the directory to create- Returns:
 - true if the directory was created (possibly with parent directories) , false otherwise
 
 - 
cp
public static void cp(java.lang.String source, java.lang.String target)Copy from source to target.- Parameters:
 source- the source file.target- the target file.
 - 
rm
public static boolean rm(java.lang.String fileName)Removes a file from disk.- Parameters:
 fileName- the file to remove- Returns:
 - true if and only if the file or directory is successfully deleted; false otherwise
 
 - 
isDirectory
public static boolean isDirectory(java.lang.String inputFile)Tests whether the file denoted by this abstract pathname is a directory.- Parameters:
 inputFile- A pathname string.- Returns:
 - true if and only if the file denoted by this abstract pathname exists and is a directory; false otherwise.
 
 - 
getIdentifier
public static int getIdentifier(java.lang.String resource)Returns an identifier for a resource. It is either based on the hashCode of a string or on the name of the resource. If a resource is called e.g.1855.mp3, the number part is used as identifier.- Parameters:
 resource- The resource to get an identifier for.- Returns:
 - an identifier.
 
 
 -