ucar.nc2.util
Class IO

java.lang.Object
  extended by ucar.nc2.util.IO

public class IO
extends Object

Input/Output utilities.

Author:
John Caron

Nested Class Summary
static class IO.HttpResult
          Holds the result of an HTTP action.
 
Field Summary
static int default_file_buffersize
           
static int default_socket_buffersize
           
 
Constructor Summary
IO()
           
 
Method Summary
static long appendToFile(InputStream in, String fileOutName)
           
static long copy(InputStream in, OutputStream out)
          copy all bytes from in to out.
static void copy(InputStream in, OutputStream out, int n)
          copy n bytes from in to out.
static long copy2null(FileChannel in, int buffersize)
          copy all bytes from in and throw them away.
static long copy2null(InputStream in, int buffersize)
          copy all bytes from in and throw them away.
static long copyB(InputStream in, OutputStream out, int bufferSize)
          copy all bytes from in to out, specify buffer size
static void copyDirTree(String fromDirName, String toDirName)
          Copy an entire directory tree.
static void copyFile(File fileIn, File fileOut)
          copy one file to another.
static void copyFile(String fileInName, OutputStream out)
          copy file to output stream
static void copyFile(String fileInName, String fileOutName)
          copy one file to another.
static void copyFileB(File fileIn, OutputStream out, int bufferSize)
          copy file to output stream, specify internal buffer size
static long copyRafB(RandomAccessFile raf, long offset, long length, OutputStream out, byte[] buffer)
          Copy part of a RandomAccessFile to output stream, specify internal buffer size
static long copyUrlB(String urlString, OutputStream out, int bufferSize)
          copy contents of URL to output stream, specify internal buffer size.
static InputStream getFileResource(String resourcePath)
          Open a resource as a Stream.
static InputStream getInputStreamFromUrl(String urlString)
          get input stream from URL
static void main(String[] args)
           
static void main4(String[] args)
           
static void mainn(String[] args)
           
static IO.HttpResult putToURL(String urlString, String contents)
          use HTTP PUT to send the contents to the named URL.
static String readContents(InputStream is)
          Read the contents from the inputStream and place into a String, with any error messages put in the return String.
static String readContents(InputStream is, String charset)
          Read the contents from the inputStream and place into a String, with any error messages put in the return String.
static byte[] readContentsToByteArray(InputStream is)
          Read the contents from the inputStream and place into a byte array, with any error messages put in the return String.
static String readFile(String filename)
          Read the contents from the named file and place into a String, assuming UTF-8 encoding.
static byte[] readFileToByteArray(String filename)
          Read the file and place contents into a byte array, with any error messages put in the return String.
static String readURLcontents(String urlString)
          Read the contents from the named URL and place into a String, with any error messages put in the return String.
static byte[] readURLContentsToByteArray(String urlString)
          Read the contents from the given URL and place into a byte array, with any error messages put in the return String.
static String readURLcontentsWithException(String urlString)
          Read the contents from the named URL and place into a String.
static String readURLtoFile(String urlString, File file)
          read the contents from the named URL, write to a file.
static String readURLtoFileWithExceptions(String urlString, File file)
          read the contents from the named URL, write to a file.
static String readURLtoFileWithExceptions(String urlString, File file, int buffer_size)
          read the contents from the named URL, write to a file.
static void testRead()
           
static long touch(FileChannel in, int buffersize)
           
static long touch(InputStream in, int buffersize)
           
static void writeContents(String contents, OutputStream os)
          Wite the contents from the String to a Stream,
static void writeToFile(byte[] contents, File file)
          Write byte[] contents to a file.
static long writeToFile(InputStream in, String fileOutName)
          copy input stream to file.
static void writeToFile(String contents, File file)
          Write String contents to a file, using UTF-8 encoding.
static void writeToFile(String contents, String fileOutName)
          Write contents to a file, using UTF-8 encoding.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

default_file_buffersize

public static int default_file_buffersize

default_socket_buffersize

public static int default_socket_buffersize
Constructor Detail

IO

public IO()
Method Detail

getFileResource

public static InputStream getFileResource(String resourcePath)
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 null on failure

copy

public static long copy(InputStream in,
                        OutputStream out)
                 throws IOException
copy all bytes from in to out.

Parameters:
in - InputStream
out - OutputStream
Returns:
number of bytes copied
Throws:
IOException - on io error

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 - on io error

touch

public static long touch(InputStream in,
                         int buffersize)
                  throws IOException
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 - on io error

touch

public static long touch(FileChannel in,
                         int buffersize)
                  throws IOException
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

copy

public static void copy(InputStream in,
                        OutputStream out,
                        int n)
                 throws IOException
copy n bytes from in to out.

Parameters:
in - InputStream
out - OutputStream
n - 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,
                                  String 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, with any error messages put in the return String.

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

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

appendToFile

public static long appendToFile(InputStream in,
                                String fileOutName)
                         throws IOException
Throws:
IOException

copyUrlB

public static long copyUrlB(String urlString,
                            OutputStream out,
                            int bufferSize)
                     throws IOException
copy contents of URL to output stream, specify internal buffer size. request gzip encoding

Parameters:
urlString - copy the contents of this URL
out - copy to this stream. If null, throw bytes away
bufferSize - internal buffer size.
Returns:
number of bytes copied
Throws:
IOException - on io error

getInputStreamFromUrl

public static InputStream getInputStreamFromUrl(String urlString)
                                         throws IOException
get input stream from URL

Parameters:
urlString - URL
Returns:
input stream, unzipped if needed
Throws:
IOException - on io error

readURLtoFile

public static String readURLtoFile(String urlString,
                                   File file)
read the contents from the named URL, write to a file.

Parameters:
urlString - the URL to read from.
file - write to this file
Returns:
status or error message.

readURLContentsToByteArray

public static byte[] readURLContentsToByteArray(String urlString)
                                         throws IOException
Read the contents from the given URL and place into a byte array, with any error messages put in the return String.

Parameters:
urlString - read from this URL.
Returns:
byte[] holding the contents, or an error message.
Throws:
IOException - on io error

readURLtoFileWithExceptions

public static String readURLtoFileWithExceptions(String urlString,
                                                 File file)
                                          throws IOException
read the contents from the named URL, write to a file.

Parameters:
urlString - the URL to read from.
file - write to this file
Returns:
status or error message.
Throws:
IOException - if failure

readURLtoFileWithExceptions

public static String readURLtoFileWithExceptions(String urlString,
                                                 File file,
                                                 int buffer_size)
                                          throws IOException
read the contents from the named URL, write to a file.

Parameters:
urlString - the URL to read from.
file - write to this file
buffer_size - read/write in this size chunks
Returns:
status or error message.
Throws:
IOException - if failure

readURLcontentsWithException

public static String readURLcontentsWithException(String urlString)
                                           throws IOException
Read the contents from the named URL and place into a String.

Parameters:
urlString - the URL to read from.
Returns:
String holding the contents.
Throws:
IOException - if fails

readURLcontents

public static String readURLcontents(String urlString)
Read the contents from the named URL and place into a String, with any error messages put in the return String.

Parameters:
urlString - the URL to read from.
Returns:
String holding the contents, or an error message.

putToURL

public static IO.HttpResult putToURL(String urlString,
                                     String contents)
use HTTP PUT to send the contents to the named URL.

Parameters:
urlString - the URL to read from. must be http:
contents - String holding the contents
Returns:
a Result object; generally 0 <= code <=400 is ok

testRead

public static void testRead()

main4

public static void main4(String[] args)

mainn

public static void mainn(String[] args)

main

public static void main(String[] args)
                 throws IOException
Throws:
IOException


Copyright © 1999-2011 UCAR/Unidata. All Rights Reserved.