Package ucar.nc2.util

Class IO


  • public class IO
    extends Object
    Input/Output static utilities.
    • Field Detail

      • default_file_buffersize

        public static final int default_file_buffersize
        See Also:
        Constant Field Values
    • Constructor Detail

      • IO

        public IO()
    • Method Detail

      • getFileResource

        public static InputStream getFileResource​(String resourcePath)
                                           throws FileNotFoundException
        Open a resource as a Stream. First try ClassLoader.getResourceAsStream(). If that fails, try a plain old FileInputStream().
        Parameters:
        resourcePath - name of file path (use forward slashes!)
        Returns:
        InputStream or FileNotFoundException on failure
        Throws:
        FileNotFoundException
      • copyBuffered

        public static long copyBuffered​(InputStream in,
                                        OutputStream out,
                                        int buffer_size)
                                 throws IOException
        Copy all bytes from in to out, setting buffer size.
        Parameters:
        in - InputStream
        out - OutputStream
        buffer_size - size of buffer to read through.
        Returns:
        number of bytes copied
        Throws:
        IOException
      • copy2null

        public static long copy2null​(InputStream in,
                                     int buffersize)
                              throws IOException
        copy all bytes from in and throw them away.
        Parameters:
        in - InputStream
        buffersize - size of buffer to use, if -1 uses default value (9200)
        Returns:
        number of bytes copied
        Throws:
        IOException
      • copy2null

        public static long copy2null​(FileChannel in,
                                     int buffersize)
                              throws IOException
        copy all bytes from in and throw them away.
        Parameters:
        in - FileChannel
        buffersize - size of buffer to use, if -1 uses default value (9200)
        Returns:
        number of bytes copied
        Throws:
        IOException
      • copyB

        public static long copyB​(InputStream in,
                                 OutputStream out,
                                 int bufferSize)
                          throws IOException
        copy all bytes from in to out, specify buffer size
        Parameters:
        in - InputStream
        out - OutputStream
        bufferSize - : internal buffer size.
        Returns:
        number of bytes copied
        Throws:
        IOException - on io error
      • copyMaxBytes

        public static void copyMaxBytes​(InputStream in,
                                        OutputStream out,
                                        int maxBytes)
                                 throws IOException
        Copy up to maxBytes bytes from in to out.
        Parameters:
        in - InputStream
        out - OutputStream
        maxBytes - number of bytes to copy
        Throws:
        IOException - on io error
      • readContents

        public static String readContents​(InputStream is)
                                   throws IOException
        Read the contents from the inputStream and place into a String, with any error messages put in the return String. Assume UTF-8 encoding.
        Parameters:
        is - the inputStream to read from.
        Returns:
        String holding the contents, or an error message.
        Throws:
        IOException - on io error
      • readContents

        public static String readContents​(InputStream is,
                                          Charset charset)
                                   throws IOException
        Read the contents from the inputStream and place into a String, with any error messages put in the return String.
        Parameters:
        is - the inputStream to read from.
        Returns:
        String holding the contents, or an error message.
        Throws:
        IOException - on io error
      • readContentsToByteArray

        public static byte[] readContentsToByteArray​(InputStream is)
                                              throws IOException
        Read the contents from the inputStream and place into a byte array.
        Parameters:
        is - the inputStream to read from.
        Returns:
        byte[] holding the contents, or an error message.
        Throws:
        IOException - on io error
      • writeContents

        public static void writeContents​(String contents,
                                         OutputStream os)
                                  throws IOException
        Wite the contents from the String to a Stream,
        Parameters:
        contents - String holding the contents.
        os - write to this OutputStream
        Throws:
        IOException - on io error
      • copyFile

        public static void copyFile​(String fileInName,
                                    String fileOutName)
                             throws IOException
        copy one file to another.
        Parameters:
        fileInName - copy from this file, which must exist.
        fileOutName - copy to this file, which is overrwritten if already exists.
        Throws:
        IOException - on io error
      • copyFile

        public static void copyFile​(File fileIn,
                                    File fileOut)
                             throws IOException
        copy one file to another.
        Parameters:
        fileIn - copy from this file, which must exist.
        fileOut - copy to this file, which is overrwritten if already exists.
        Throws:
        IOException - on io error
      • copy2File

        public static void copy2File​(byte[] src,
                                     String fileOut)
                              throws IOException
        copy bytes to File
        Parameters:
        src - source
        fileOut - copy to this file
        Throws:
        IOException - on io error
      • copyFile

        public static void copyFile​(String fileInName,
                                    OutputStream out)
                             throws IOException
        copy file to output stream
        Parameters:
        fileInName - open this file
        out - copy here
        Throws:
        IOException - on io error
      • copyFileB

        public static void copyFileB​(File fileIn,
                                     OutputStream out,
                                     int bufferSize)
                              throws IOException
        copy file to output stream, specify internal buffer size
        Parameters:
        fileIn - copy this file
        out - copy to this stream
        bufferSize - internal buffer size.
        Throws:
        IOException - on io error
      • copyRafB

        public static long copyRafB​(RandomAccessFile raf,
                                    long offset,
                                    long length,
                                    OutputStream out,
                                    byte[] buffer)
                             throws IOException
        Copy part of a RandomAccessFile to output stream, specify internal buffer size
        Parameters:
        raf - copy this file
        offset - start here (byte offset)
        length - number of bytes to copy
        out - copy to this stream
        buffer - use this buffer.
        Returns:
        number of bytes copied
        Throws:
        IOException - on io error
      • copyDirTree

        public static void copyDirTree​(String fromDirName,
                                       String toDirName)
                                throws IOException
        Copy an entire directory tree.
        Parameters:
        fromDirName - from this directory (do nothing if not exist)
        toDirName - to this directory (will create if not exist)
        Throws:
        IOException - on io error
      • readFileToByteArray

        public static byte[] readFileToByteArray​(String filename)
                                          throws IOException
        Read the file and place contents into a byte array, with any error messages put in the return String.
        Parameters:
        filename - the file to read from.
        Returns:
        byte[] holding the contents, or an error message.
        Throws:
        IOException - on io error
      • readFile

        public static String readFile​(String filename)
                               throws IOException
        Read the contents from the named file and place into a String, assuming UTF-8 encoding.
        Parameters:
        filename - the URL to read from.
        Returns:
        String holding the file contents
        Throws:
        IOException - on io error
      • writeToFile

        public static void writeToFile​(String contents,
                                       File file)
                                throws IOException
        Write String contents to a file, using UTF-8 encoding.
        Parameters:
        contents - String holding the contents
        file - write to this file (overwrite if exists)
        Throws:
        IOException - on io error
      • writeToFile

        public static void writeToFile​(byte[] contents,
                                       File file)
                                throws IOException
        Write byte[] contents to a file.
        Parameters:
        contents - String holding the contents
        file - write to this file (overwrite if exists)
        Throws:
        IOException - on io error
      • writeToFile

        public static void writeToFile​(String contents,
                                       String fileOutName)
                                throws IOException
        Write contents to a file, using UTF-8 encoding.
        Parameters:
        contents - String holding the contents
        fileOutName - write to this file (overwrite if exists)
        Throws:
        IOException - on io error
      • writeToFile

        public static long writeToFile​(InputStream in,
                                       String fileOutName)
                                throws IOException
        copy input stream to file. close input stream when done.
        Parameters:
        in - copy from here
        fileOutName - open this file (overwrite) and copy to it.
        Returns:
        number of bytes copied
        Throws:
        IOException - on io error