Class FileUtils


  • public final class FileUtils
    extends java.lang.Object
    File Utilities.
    Since:
    1.0.0
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static byte[] convertToBytes​(java.io.InputStream inputStream)
      Convert InputStream to byte array.
      static java.lang.String createFolder​(java.nio.file.Path defaultDataDir, java.lang.String parentDir, java.lang.String... paths)
      Create new folder inside parent folder
      static java.lang.String getExtension​(java.lang.String filename)  
      static java.lang.String getFileName​(java.net.URL fileUrl)  
      static java.nio.file.Path getUserHomePath​(@NotNull java.lang.String directory)  
      static boolean isChild​(@NotNull java.nio.file.Path parent, @NotNull java.nio.file.Path child)  
      static java.lang.String normalize​(@NotNull java.lang.String fileName)
      Escape all invalid character in file name to underscore (_)"
      static java.lang.String readFileToString​(java.lang.String filePath)
      Read file to text.
      static java.nio.file.Path recomputeDataDir​(@NotNull java.nio.file.Path defaultDataDir, @NotNull java.nio.file.Path dataDir, @NotNull java.lang.String resolvePath)
      Recompute data dir
      static java.nio.file.Path resolveDataFolder​(@NotNull java.nio.file.Path defaultDataDir, java.lang.String dir)
      Resolve dir to data dir.
      static void silentClose​(java.io.Closeable stream)
      Silent close stream.
      static java.nio.file.Path toPath​(java.lang.String filePath)
      Convert file path from String to Path.
      static java.nio.file.Path toPath​(java.lang.String filePath, java.lang.String classpathFile)
      Convert file path from String to Path.
      static java.io.InputStream toStream​(java.io.File file)
      Open stream from given file.
      static java.io.InputStream toStream​(java.net.URL url)
      Open stream from given URL.
      static java.net.URL toUrl​(java.lang.String urlString)
      To URL.
      static <T extends java.io.OutputStream>
      T
      writeToOutputStream​(java.io.InputStream inputStream, T outputStream)
      Write data from InputStream to OutputStream.
      • Methods inherited from class java.lang.Object

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

      • getUserHomePath

        public static java.nio.file.Path getUserHomePath​(@NotNull
                                                         @NotNull java.lang.String directory)
      • toUrl

        public static java.net.URL toUrl​(java.lang.String urlString)
        To URL.
        Parameters:
        urlString - url string
        Returns:
        url Return null if given input is invalid URI syntax or blank value.
      • readFileToString

        public static java.lang.String readFileToString​(java.lang.String filePath)
        Read file to text.
        Parameters:
        filePath - Given file path
        Returns:
        File content in text
        Throws:
        FileException - if error when parsing file path or reading file
      • getFileName

        public static java.lang.String getFileName​(java.net.URL fileUrl)
      • toPath

        public static java.nio.file.Path toPath​(java.lang.String filePath,
                                                java.lang.String classpathFile)
        Convert file path from String to Path.
        Parameters:
        filePath - Given file path
        classpathFile - Classpath file name if filePath is blank
        Returns:
        File path object
        Throws:
        java.lang.IllegalArgumentException - if filePath and classpathFile is blank
        FileException - if error when parsing file path or reading file
      • toPath

        public static java.nio.file.Path toPath​(java.lang.String filePath)
        Convert file path from String to Path.
        Parameters:
        filePath - Given file path
        Returns:
        File path object
        Throws:
        java.lang.IllegalArgumentException - if filePath is blank
        FileException - if error when parsing file path or reading file
      • toStream

        public static java.io.InputStream toStream​(java.net.URL url)
        Open stream from given URL.
        Parameters:
        url - URL
        Returns:
        input stream
        Throws:
        java.lang.NullPointerException - if given URL is null
        FileException - if error when opening stream
      • toStream

        public static java.io.InputStream toStream​(java.io.File file)
        Open stream from given file.
        Parameters:
        file - Given file
        Returns:
        input stream
        Throws:
        java.lang.NullPointerException - if given URL is null
        FileException - if file not found
      • convertToBytes

        public static byte[] convertToBytes​(java.io.InputStream inputStream)
        Convert InputStream to byte array.
        Parameters:
        inputStream - Given stream
        Returns:
        Bytes array represents for data in input stream
        Throws:
        FileException - if error when reading stream
      • writeToOutputStream

        public static <T extends java.io.OutputStream> T writeToOutputStream​(java.io.InputStream inputStream,
                                                                             T outputStream)
        Write data from InputStream to OutputStream.
        Type Parameters:
        T - Type of output stream
        Parameters:
        inputStream - Given input stream
        outputStream - Given output stream
        Returns:
        Given Output Stream
        Throws:
        FileException - if error when reading stream
      • silentClose

        public static void silentClose​(java.io.Closeable stream)
        Silent close stream.
        Parameters:
        stream - Closeable
      • createFolder

        public static java.lang.String createFolder​(java.nio.file.Path defaultDataDir,
                                                    java.lang.String parentDir,
                                                    java.lang.String... paths)
        Create new folder inside parent folder
        Parameters:
        defaultDataDir - default data dir
        parentDir - Given parent folder. Can be blank to fallback default data dir
        paths - Given sub paths
        Returns:
        new folder
        Throws:
        FileException - if any error when creating folder
        See Also:
        resolveDataFolder(Path, String)
      • resolveDataFolder

        public static java.nio.file.Path resolveDataFolder​(@NotNull
                                                           @NotNull java.nio.file.Path defaultDataDir,
                                                           java.lang.String dir)
        Resolve dir to data dir.
        Parameters:
        defaultDataDir - Default data dir
        dir - Given directory. Can be absolute path or relative
        Returns:
        data dir. $HOME/nubeio if dir is blank.
      • isChild

        public static boolean isChild​(@NotNull
                                      @NotNull java.nio.file.Path parent,
                                      @NotNull
                                      @NotNull java.nio.file.Path child)
      • normalize

        public static java.lang.String normalize​(@NotNull
                                                 @NotNull java.lang.String fileName)
        Escape all invalid character in file name to underscore (_)"
        Parameters:
        fileName - given file name
        Returns:
        normalization file name
      • recomputeDataDir

        public static java.nio.file.Path recomputeDataDir​(@NotNull
                                                          @NotNull java.nio.file.Path defaultDataDir,
                                                          @NotNull
                                                          @NotNull java.nio.file.Path dataDir,
                                                          @NotNull
                                                          @NotNull java.lang.String resolvePath)
        Recompute data dir
        Parameters:
        defaultDataDir - Default data dir
        dataDir - Given data dir
        resolvePath - Current folder might in absolute or relative to
        Returns:
        new data dir path with normalize file name
        See Also:
        normalize(String)
      • getExtension

        public static java.lang.String getExtension​(java.lang.String filename)