Class FileUtil


  • public final class FileUtil
    extends java.lang.Object
    This file is a helper class for internal usage only. Be aware that its API and functionality may be changed in future.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private FileUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.io.File constructFileByDirectoryAndName​(java.lang.String directory, java.lang.String fileName)
      Create File instance.
      static void copy​(java.lang.String inputFile, java.lang.String outputFile)
      Creates a copy of a file.
      static void createDirectories​(java.lang.String outPath)
      Creates a directory at the provided path.
      static java.io.PrintWriter createPrintWriter​(java.io.OutputStream output, java.lang.String encoding)
      Creates PrintWriter instance.
      static java.lang.String createTempCopy​(java.lang.String file, java.lang.String tempFilePrefix, java.lang.String tempFilePostfix)
      Creates a temporary copy of a file.
      static java.lang.String createTempDirectory​(java.lang.String tempFilePrefix)
      Creates a temporary directory.
      static java.io.File createTempFile​(java.lang.String path)
      Creates a temporary file at the provided path.
      static java.io.File createTempFile​(java.lang.String tempFilePrefix, java.lang.String tempFilePostfix)
      Creates a temporary file.
      static boolean deleteFile​(java.io.File file)
      Deletes a file and returns whether the operation succeeded.
      static boolean directoryExists​(java.lang.String path)
      Checks whether there is a directory at the provided path.
      static boolean fileExists​(java.lang.String path)
      Checks whether there is a file at the provided path.
      static java.io.OutputStream getBufferedOutputStream​(java.lang.String filename)
      Creates OutputStream instance for filename.
      static java.io.OutputStream getFileOutputStream​(java.io.File tempFile)
      Creates FileOutputStream instance.
      static java.io.OutputStream getFileOutputStream​(java.lang.String path)
      Creates OutputStream instance.
      static java.lang.String getFontsDir()
      Gets the default windows font directory.
      static java.io.InputStream getInputStreamForFile​(java.io.File file)
      Creates InputStream instance.
      static java.io.InputStream getInputStreamForFile​(java.lang.String path)
      Creates InputStream instance.
      static java.lang.String getParentDirectoryUri​(java.io.File file)
      Returns an URI of the parent directory for the resource.
      static java.io.RandomAccessFile getRandomAccessFile​(java.io.File tempFile)
      Creates RandomAccessFile instance.
      static boolean isFileNotEmpty​(java.lang.String path)
      Checks whether is provided file not empty.
      private static void listAllFiles​(java.lang.String dir, java.util.List<java.lang.String> list)  
      static java.lang.String[] listFilesInDirectory​(java.lang.String path, boolean recursive)
      Lists all the files located at the provided directory.
      static java.io.File[] listFilesInDirectoryByFilter​(java.lang.String outPath, java.io.FileFilter fileFilter)
      Lists all the files located at the provided directory, which are accepted by the provided filter.
      static java.lang.String parentDirectory​(java.net.URL url)
      Returns an URL of the parent directory for the resource.
      static boolean removeFiles​(java.lang.String[] paths)
      Removes all of the passed files.
      static java.io.OutputStream wrapWithBufferedOutputStream​(java.io.OutputStream outputStream)
      Wraps provided output stream with buffered one.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FileUtil

        private FileUtil()
    • Method Detail

      • getFontsDir

        public static java.lang.String getFontsDir()
        Gets the default windows font directory.
        Returns:
        the default windows font directory
      • fileExists

        public static boolean fileExists​(java.lang.String path)
        Checks whether there is a file at the provided path.
        Parameters:
        path - the path to the file to be checked on existence
        Returns:
        true if such a file exists, otherwise false
      • isFileNotEmpty

        public static boolean isFileNotEmpty​(java.lang.String path)
        Checks whether is provided file not empty.
        Parameters:
        path - the path to the file to be checked on emptiness
        Returns:
        true if such file is not empty, false otherwise
      • directoryExists

        public static boolean directoryExists​(java.lang.String path)
        Checks whether there is a directory at the provided path.
        Parameters:
        path - the path to the directory to be checked on existence
        Returns:
        true if such a directory exists, otherwise false
      • listFilesInDirectory

        public static java.lang.String[] listFilesInDirectory​(java.lang.String path,
                                                              boolean recursive)
        Lists all the files located at the provided directory.
        Parameters:
        path - path to the directory
        recursive - if true, files from all the subdirectories will be returned
        Returns:
        all the files located at the provided directory
      • listFilesInDirectoryByFilter

        public static java.io.File[] listFilesInDirectoryByFilter​(java.lang.String outPath,
                                                                  java.io.FileFilter fileFilter)
        Lists all the files located at the provided directory, which are accepted by the provided filter.
        Parameters:
        outPath - path to the directory
        fileFilter - filter to accept files to be listed
        Returns:
        all the files located at the provided directory, which are accepted by the provided filter
      • listAllFiles

        private static void listAllFiles​(java.lang.String dir,
                                         java.util.List<java.lang.String> list)
      • createPrintWriter

        public static java.io.PrintWriter createPrintWriter​(java.io.OutputStream output,
                                                            java.lang.String encoding)
                                                     throws java.io.UnsupportedEncodingException
        Creates PrintWriter instance.
        Parameters:
        output - output stream where data will be written.
        encoding - encoding in which data will be written.
        Returns:
        PrintWriter instance.
        Throws:
        java.io.UnsupportedEncodingException - in case of unknown encoding.
      • getBufferedOutputStream

        public static java.io.OutputStream getBufferedOutputStream​(java.lang.String filename)
                                                            throws java.io.IOException
        Creates OutputStream instance for filename.
        Parameters:
        filename - name of the file for which output stream will be created.
        Returns:
        OutputStream instance.
        Throws:
        java.io.FileNotFoundException - if file not found.
        java.io.IOException
      • wrapWithBufferedOutputStream

        public static java.io.OutputStream wrapWithBufferedOutputStream​(java.io.OutputStream outputStream)
        Wraps provided output stream with buffered one.
        Parameters:
        outputStream - output stream to wrap.
        Returns:
        BufferedOutputStream instance if provided stream was not buffered before.
      • constructFileByDirectoryAndName

        public static java.io.File constructFileByDirectoryAndName​(java.lang.String directory,
                                                                   java.lang.String fileName)
        Create File instance.
        Parameters:
        directory - the parent pathname string.
        fileName - The child pathname string.
        Returns:
        File instance.
      • createTempFile

        public static java.io.File createTempFile​(java.lang.String path)
                                           throws java.io.IOException
        Creates a temporary file at the provided path.
        Parameters:
        path - path to the temporary file to be created. If it is a directory, then the temporary file will be created at this directory
        Returns:
        the created temporary file
        Throws:
        java.io.IOException - signals that an I/O exception has occurred
      • getFileOutputStream

        public static java.io.OutputStream getFileOutputStream​(java.io.File tempFile)
                                                        throws java.io.IOException
        Creates FileOutputStream instance.
        Parameters:
        tempFile - filename for which output stream will be created.
        Returns:
        FileOutputStream instance.
        Throws:
        java.io.IOException - in file reading errors.
      • getInputStreamForFile

        public static java.io.InputStream getInputStreamForFile​(java.lang.String path)
                                                         throws java.io.IOException
        Creates InputStream instance.
        Parameters:
        path - filename for which output stream will be created.
        Returns:
        InputStream instance.
        Throws:
        java.io.IOException - in file reading errors.
      • getInputStreamForFile

        public static java.io.InputStream getInputStreamForFile​(java.io.File file)
                                                         throws java.io.IOException
        Creates InputStream instance.
        Parameters:
        file - filename for which output stream will be created.
        Returns:
        InputStream instance.
        Throws:
        java.io.IOException - in file reading errors.
      • getFileOutputStream

        public static java.io.OutputStream getFileOutputStream​(java.lang.String path)
                                                        throws java.io.IOException
        Creates OutputStream instance.
        Parameters:
        path - filename for which output stream will be created.
        Returns:
        OutputStream instance.
        Throws:
        java.io.IOException - in file r/w errors.
      • getRandomAccessFile

        public static java.io.RandomAccessFile getRandomAccessFile​(java.io.File tempFile)
                                                            throws java.io.FileNotFoundException
        Creates RandomAccessFile instance.
        Parameters:
        tempFile - file for which RAF will be created.
        Returns:
        RandomAccessFile instance.
        Throws:
        java.io.FileNotFoundException - in case file not found.
      • createDirectories

        public static void createDirectories​(java.lang.String outPath)
        Creates a directory at the provided path.
        Parameters:
        outPath - path to the directory to be created
      • getParentDirectoryUri

        public static java.lang.String getParentDirectoryUri​(java.io.File file)
                                                      throws java.net.MalformedURLException
        Returns an URI of the parent directory for the resource.
        Parameters:
        file - for which an URI of the parent will be constructed.
        Returns:
        parent directory URI.
        Throws:
        java.net.MalformedURLException - If a protocol handler for the URL could not be found, or if some other error occurred while constructing the URL.
      • deleteFile

        public static boolean deleteFile​(java.io.File file)
        Deletes a file and returns whether the operation succeeded. Note that only *files* are supported, not directories.
        Parameters:
        file - file to be deleted
        Returns:
        true if file was deleted successfully, false otherwise
      • parentDirectory

        public static java.lang.String parentDirectory​(java.net.URL url)
                                                throws java.net.URISyntaxException
        Returns an URL of the parent directory for the resource.
        Parameters:
        url - of resource
        Returns:
        parent directory path| the same path if a catalog`s url is passed;
        Throws:
        java.net.URISyntaxException - if this URL is not formatted strictly according to RFC2396 and cannot be converted to a URI.
      • createTempFile

        public static java.io.File createTempFile​(java.lang.String tempFilePrefix,
                                                  java.lang.String tempFilePostfix)
                                           throws java.io.IOException
        Creates a temporary file.

        Note, that this method creates temporary file with provided file's prefix and postfix using File.createTempFile(String, String).

        Parameters:
        tempFilePrefix - the prefix of the copied file's name
        tempFilePostfix - the postfix of the copied file's name
        Returns:
        the path to the copied file
        Throws:
        java.io.IOException - signals that an I/O exception has occurred.
      • createTempCopy

        public static java.lang.String createTempCopy​(java.lang.String file,
                                                      java.lang.String tempFilePrefix,
                                                      java.lang.String tempFilePostfix)
                                               throws java.io.IOException
        Creates a temporary copy of a file.

        Note, that this method creates temporary file with provided file's prefix and postfix using Files.createTempFile(String, String, FileAttribute[]).

        Parameters:
        file - the path to the file to be copied
        tempFilePrefix - the prefix of the copied file's name
        tempFilePostfix - the postfix of the copied file's name
        Returns:
        the path to the copied file
        Throws:
        java.io.IOException - signals that an I/O exception has occurred.
      • copy

        public static void copy​(java.lang.String inputFile,
                                java.lang.String outputFile)
                         throws java.io.IOException
        Creates a copy of a file.
        Parameters:
        inputFile - the path to the file to be copied
        outputFile - the path, to which the passed file should be copied
        Throws:
        java.io.IOException - signals that an I/O exception has occurred.
      • createTempDirectory

        public static java.lang.String createTempDirectory​(java.lang.String tempFilePrefix)
                                                    throws java.io.IOException
        Creates a temporary directory.

        Note, that this method creates temporary directory with provided directory prefix using Files.createTempDirectory(String, FileAttribute[]).

        Parameters:
        tempFilePrefix - the prefix of the temporary directory's name
        Returns:
        the path to the temporary directory
        Throws:
        java.io.IOException - signals that an I/O exception has occurred.
      • removeFiles

        public static boolean removeFiles​(java.lang.String[] paths)
        Removes all of the passed files.
        Parameters:
        paths - paths to files, which should be removed
        Returns:
        true if all the files have been successfully removed, false otherwise