- java.lang.Object
-
- com.pervasive.datarush.commons.util.FileUtil
-
public class FileUtil extends Object
Utility methods for operating on files.
-
-
Constructor Summary
Constructors Constructor Description FileUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
appendFileBytes(File file, byte[] bytes)
Appends the entire contents of the given byte array to a file.static Socket
close(Socket socket)
Closes the given socket if not nullstatic <T extends InputStream>
Tclose(T is)
Closes the given stream if not nullstatic void
closeQuietly(Closeable close)
Closes the input stream if not null, suppressing any exception.static void
closeQuietly(InputStream is)
Closes the input stream if not null, suppressing any exception.static void
closeQuietly(OutputStream os)
Closes the output stream if not null, suppressing any exception.static void
closeQuietly(Reader is)
Closes the input stream if not null, suppressing any exception.static void
closeQuietly(Socket socket)
Closes the socket if not null, suppressing any exception.static void
copy(InputStream in, OutputStream out)
Copies the contents of the given input stream to the given output stream.static void
copyFile(File from, File to)
Copies the file to the given location.static void
copyRecursively(File from, File to)
Recursively copies the file/directory to the given file/directory.static int
countLines(String outputFile)
static boolean
deleteDirectory(File directory, boolean removeRoot)
Recursively deletes a directory structure starting at specified root directory.static boolean
deleteDirectory(String dirPath, boolean removeRoot)
Recursively deletes a directory structure starting at specified root directory.static void
deleteRecursively(File file)
Recursively deletes the file and all subdirectories.static void
deleteRecursivelyWithFailure(File dir)
Deletes the given directory or file, throwing an exception of unable to deletestatic File[]
listFilesCanonical(File directory)
Lists the files in the given directory in a canonical ordering (one that is not subject to platform-specific ordering).static Properties
loadPropertiesFile(File file)
Loads the given properties file.static String
readData(File file)
Read data from a file.static byte[]
readFileBytes(File file)
Reads the entire contents of the given file into a byte array.static String
readFileString(File file, Charset charset)
Reads the entire contents of the given file into a string.static byte[]
readZipEntry(File zipFile, String entry)
Reads an entry from a zip filestatic void
savePropertiesFile(File file, Properties properties)
Saves the given properties object.static void
unzip(File from, File to)
Recursively unzips the given file to a given directory/filestatic void
writeData(String data, String fileName)
Write data into a file.static void
writeFileBytes(File file, byte[] bytes)
Write the entire contents of the given byte array to a file.static void
writeFileString(File file, String string, Charset charset)
Write the entire contents of the given string to a file.static void
zipRecursively(File from, File to)
Recursively zips the given input file/directory to the given filestatic void
zipRecursively(File from, ZipOutputStream zipOut)
Recursively zips the given input file/directory to the given zip stream
-
-
-
Method Detail
-
deleteDirectory
public static boolean deleteDirectory(String dirPath, boolean removeRoot)
Recursively deletes a directory structure starting at specified root directory.- Parameters:
dirPath
- the path of the root directoryremoveRoot
- if true the root directory is deleted after the deletion of its children- Returns:
- true if all deletes succeeded, false otherwise
-
copy
public static void copy(InputStream in, OutputStream out) throws IOException
Copies the contents of the given input stream to the given output stream. Note that the caller is responsible for closing.- Parameters:
in
- The input stream to read from.out
- The output stream to write to.- Throws:
IOException
- if I/O errors occur
-
deleteDirectory
public static boolean deleteDirectory(File directory, boolean removeRoot)
Recursively deletes a directory structure starting at specified root directory.- Parameters:
directory
- the root directoryremoveRoot
- if true the root directory is deleted after the deletion of its children- Returns:
- true if all deletes succeeded, false otherwise
-
close
public static <T extends InputStream> T close(T is) throws IOException
Closes the given stream if not null- Type Parameters:
T
- the type of stream- Parameters:
is
- The stream- Returns:
- always null. to be used in the pattern
is=close(is)
- Throws:
IOException
- If an error occurs closing the stream.
-
close
public static Socket close(Socket socket) throws IOException
Closes the given socket if not null- Parameters:
socket
- The socket- Returns:
- always null. to be used in the pattern
sock=close(sock)
- Throws:
IOException
- If an error occurs closing the socket.
-
close
public static <T extends OutputStream> T close(T os) throws IOException
Closes the given stream if not null- Type Parameters:
T
- the type of stream- Parameters:
os
- The stream- Returns:
- always null. to be used in the pattern
os=close(os)
- Throws:
IOException
- If an error occurs closing the stream.
-
close
public static <T extends Closeable> T close(T close) throws IOException
Closes the given stream if not null- Type Parameters:
T
- the type of stream- Parameters:
close
- The stream- Returns:
- always null. to be used in the pattern
os=close(os)
- Throws:
IOException
- If an error occurs closing the stream.
-
closeQuietly
public static void closeQuietly(InputStream is)
Closes the input stream if not null, suppressing any exception.- Parameters:
is
- the input stream.
-
closeQuietly
public static void closeQuietly(Socket socket)
Closes the socket if not null, suppressing any exception.- Parameters:
socket
- the socket.
-
closeQuietly
public static void closeQuietly(Reader is)
Closes the input stream if not null, suppressing any exception.- Parameters:
is
- the input stream.
-
closeQuietly
public static void closeQuietly(Closeable close)
Closes the input stream if not null, suppressing any exception.- Parameters:
close
- the input stream to close
-
closeQuietly
public static void closeQuietly(OutputStream os)
Closes the output stream if not null, suppressing any exception.- Parameters:
os
- the output stream.
-
deleteRecursivelyWithFailure
public static void deleteRecursivelyWithFailure(File dir) throws IOException
Deletes the given directory or file, throwing an exception of unable to delete- Parameters:
dir
- the directory to delete- Throws:
IOException
- if unable to delete
-
deleteRecursively
public static void deleteRecursively(File file)
Recursively deletes the file and all subdirectories.- Parameters:
file
- the file/directory to delete.
-
zipRecursively
public static void zipRecursively(File from, File to) throws IOException
Recursively zips the given input file/directory to the given file- Parameters:
from
- may be a file or a directoryto
- must not be a directory- Throws:
IOException
- if an error occurs
-
zipRecursively
public static void zipRecursively(File from, ZipOutputStream zipOut) throws IOException
Recursively zips the given input file/directory to the given zip stream- Parameters:
from
- may be a file or a directory. if a directory, the zip will be rooted at the directory.zipOut
- the zip output stream- Throws:
IOException
- if an error occurs
-
unzip
public static void unzip(File from, File to) throws IOException
Recursively unzips the given file to a given directory/file- Parameters:
from
- may be a fileto
- either directory or file- Throws:
IOException
- if an error occurs
-
copyRecursively
public static void copyRecursively(File from, File to) throws IOException
Recursively copies the file/directory to the given file/directory.- Parameters:
from
- the source file/directoryto
- the dest file/directory.- Throws:
IOException
- if I/O errors occur
-
copyFile
public static void copyFile(File from, File to) throws IOException
Copies the file to the given location.- Parameters:
from
- the source file ( must not be a directory )to
- the dest file ( must not be a directory ).- Throws:
IOException
- if an error occurs while copying the file
-
loadPropertiesFile
public static Properties loadPropertiesFile(File file) throws IOException
Loads the given properties file.- Parameters:
file
- the file to load- Returns:
- the file, parsed as a properties object.
- Throws:
IOException
- if I/O errors occur =
-
savePropertiesFile
public static void savePropertiesFile(File file, Properties properties) throws IOException
Saves the given properties object.- Parameters:
file
- the file to save to.properties
- the properties object to save.- Throws:
IOException
- if I/O errors occur
-
readFileBytes
public static byte[] readFileBytes(File file) throws IOException
Reads the entire contents of the given file into a byte array.- Parameters:
file
- the file to read.- Returns:
- the contents of the file as bytes.
- Throws:
IOException
- if I/O errors occur
-
writeFileBytes
public static void writeFileBytes(File file, byte[] bytes) throws IOException
Write the entire contents of the given byte array to a file.- Parameters:
file
- the file to write.bytes
- the contents of the file as bytes- Throws:
IOException
- if I/O errors occur
-
appendFileBytes
public static void appendFileBytes(File file, byte[] bytes) throws IOException
Appends the entire contents of the given byte array to a file.- Parameters:
file
- the file to write.bytes
- the contents of the file as bytes- Throws:
IOException
- if I/O errors occur
-
readFileString
public static String readFileString(File file, Charset charset) throws IOException
Reads the entire contents of the given file into a string.- Parameters:
file
- the file to read.charset
- the character encoding of the file- Returns:
- the contents of the file as a string
- Throws:
IOException
- if I/O errors occur
-
readZipEntry
public static byte[] readZipEntry(File zipFile, String entry) throws IOException
Reads an entry from a zip file- Parameters:
zipFile
- the zip fileentry
- the name of the- Returns:
- the contents of the entry or null if not found
- Throws:
IOException
-
writeFileString
public static void writeFileString(File file, String string, Charset charset) throws IOException
Write the entire contents of the given string to a file.- Parameters:
file
- the file to write.string
- the contents of the file as a stringcharset
- the character encoding for the file- Throws:
IOException
- if I/O errors occur
-
writeData
public static void writeData(String data, String fileName)
Write data into a file.- Parameters:
data
- data to be written into a file.fileName
- the file name- Throws:
IOException
- if I/O errors occur
-
readData
public static String readData(File file)
Read data from a file.- Parameters:
file
- from which data to be read- Returns:
- data read from the file
- Throws:
IOException
- if I/O errors occur
-
listFilesCanonical
public static File[] listFilesCanonical(File directory)
Lists the files in the given directory in a canonical ordering (one that is not subject to platform-specific ordering).- Parameters:
directory
- the directory containing the files- Returns:
- a list of file. this list will never be null but it may be empty
-
countLines
public static int countLines(String outputFile)
-
-