Class FileUtils


  • public class FileUtils
    extends Object
    File utilities.
    • Field Detail

      • CURR_DIR_PATH

        public static final String CURR_DIR_PATH
        The current directory path (only reads the current directory once, the first time this field is accessed, so will not reflect subsequent changes to the current directory).
      • FILECHANNEL_FILE_SIZE_THRESHOLD

        public static final int FILECHANNEL_FILE_SIZE_THRESHOLD
        The minimum filesize at which it becomes more efficient to read a file with a memory-mapped file channel rather than an InputStream. Based on benchmark testing using the following benchmark, averaged over three separate runs, then plotted as a speedup curve for 1, 2, 4 and 8 concurrent threads: https://github.com/lukehutch/FileReadingBenchmark
    • Constructor Detail

      • FileUtils

        public FileUtils()
    • Method Detail

      • readAllBytesAsArray

        public static byte[] readAllBytesAsArray​(InputStream inputStream,
                                                 long fileSize,
                                                 LogNode log)
                                          throws IOException
        Read all the bytes in an InputStream as a byte array.
        Parameters:
        inputStream - The InputStream.
        fileSize - The file size, if known, otherwise -1L.
        log - The log.
        Returns:
        The contents of the InputStream as a byte array.
        Throws:
        IOException - If the contents could not be read.
      • readAllBytesAsString

        public static String readAllBytesAsString​(InputStream inputStream,
                                                  long fileSize,
                                                  LogNode log)
                                           throws IOException
        Read all the bytes in an InputStream as a String.
        Parameters:
        inputStream - The InputStream.
        fileSize - The file size, if known, otherwise -1L.
        log - The log.
        Returns:
        The contents of the InputStream as a String.
        Throws:
        IOException - If the contents could not be read.
      • isClassfile

        public static boolean isClassfile​(String path)
        Parameters:
        path - A file path.
        Returns:
        true if path has a ".class" extension, ignoring case.
      • canRead

        public static boolean canRead​(File file)
        Parameters:
        file - A File.
        Returns:
        true if a file exists and can be read.