Package be.panako.util
Class FileUtils
java.lang.Object
be.panako.util.FileUtils
An utility class for file interaction.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic void
appendFile
(String contents, String name) Appends a string to a file on disk.static String
Returns the filename without path and without extension.static String
Joins path elements using the systems path separator.static void
copyFileFromJar
(String source, String target) Copy a file from a jar.static void
Copy from source to target.static boolean
createLock
(String fileName) static boolean
Checks if a file exists.static String
expandHomeDir
(String dir) static String
Return the extension of a file.static int
getIdentifier
(String resource) Returns an identifier for a resource.static String
getLockFileName
(String fileName) Return a list of files in directory that satisfy pattern.static boolean
isDirectory
(String inputFile) Tests whether the file denoted by this abstract pathname is a directory.static boolean
isFileLocked
(String fileName) static boolean
Creates a directory and parent directories if needed.static String
Returns the path for a file.
path("/home/user/random.jpg") == "/home/user"
Uses the correct pathSeparator depending on the operating system.readColumnFromCSVData
(List<String[]> data, int columnIndex, FileUtils.RowFilter filter) static String
Reads the contents of a file.static String
readFileFromJar
(String path) Reads the contents of a file in a jar.static boolean
Removes a file from disk.static String
static String
static void
Writes a file to disk.
-
Field Details
-
ACCEPT_ALL_ROWFILTER
-
-
Method Details
-
temporaryDirectory
-
expandHomeDir
-
isFileLocked
-
createLock
-
getLockFileName
-
combine
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
- Returns:
- The path where the program is executed.
-
writeFile
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
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
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
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
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 List<String> readColumnFromCSVData(List<String[]> data, int columnIndex, FileUtils.RowFilter filter) -
glob
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
*.wav
you could use.*\.wav
E.g. in a directory
home
with the filescom.test.txt
,blaat.wav
andfoobar.wav
the pattern.*\.wav
matchesblaat.wav
andfoobar.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:
Error
- an error is thrown if the directory is not ... a directory.PatternSyntaxException
- Unchecked exception thrown to indicate a syntax error in a regular-expression pattern.
-
extension
Return the extension of a file.- Parameters:
fileName
- the file to get the extension for- Returns:
- the extension. E.g. TXT or JPEG.
-
basename
Returns the filename without path and without extension.- Parameters:
fileName
- The name of the file.- Returns:
- the file name without extension and path
-
path
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
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
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
Copy from source to target.- Parameters:
source
- the source file.target
- the target file.
-
rm
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
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
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.
-