edu.sdsc.grid.io.irods
Class IRODSFileOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by edu.sdsc.grid.io.GeneralFileOutputStream
          extended by edu.sdsc.grid.io.RemoteFileOutputStream
              extended by edu.sdsc.grid.io.irods.IRODSFileOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable

public class IRODSFileOutputStream
extends RemoteFileOutputStream

A IRODSFileOutputStream writes bytes to a file in a file system. What files are available depends on the host environment.

IRODSFileOutputStream is meant for writing streams of raw bytes such as image data.

Since:
JARGON1.4

Field Summary
protected  IRODSFileSystem fileSystem
          Holds the server connection used by this stream.
 
Fields inherited from class edu.sdsc.grid.io.GeneralFileOutputStream
fd
 
Constructor Summary
IRODSFileOutputStream(IRODSFile file)
          Creates a FileInputStream by opening a connection to an actual file, the file named by the File object file in the file system.
IRODSFileOutputStream(IRODSFileSystem fileSystem, java.lang.String name)
          Creates a FileOuputStream by opening a connection to an actual file, the file named by the path name name in the file system.
 
Method Summary
 void close()
          Closes this file output stream and releases any system resources associated with this stream.
protected  void open(GeneralFile file)
          Opens the given file for use by this stream.
 void write(byte[] buffer, int offset, int length)
          Writes len bytes from the specified byte array starting at offset off to this file output stream.
 
Methods inherited from class edu.sdsc.grid.io.GeneralFileOutputStream
finalize, write, write
 
Methods inherited from class java.io.OutputStream
flush
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fileSystem

protected IRODSFileSystem fileSystem
Holds the server connection used by this stream.

Constructor Detail

IRODSFileOutputStream

public IRODSFileOutputStream(IRODSFileSystem fileSystem,
                             java.lang.String name)
                      throws java.io.IOException
Creates a FileOuputStream by opening a connection to an actual file, the file named by the path name name in the file system.

First, the security is checked to verify the file can be written.

If the named file does not exist, is a directory rather than a regular file, or for some other reason cannot be opened for reading then a IOException is thrown.

Parameters:
name - the system-dependent file name.
Throws:
java.io.IOException - if the file does not exist, is a directory rather than a regular file, or for some other reason cannot be opened for reading.

IRODSFileOutputStream

public IRODSFileOutputStream(IRODSFile file)
                      throws java.io.IOException
Creates a FileInputStream by opening a connection to an actual file, the file named by the File object file in the file system. A new FileDescriptor object is created to represent this file connection.

First, the security is checked to verify the file can be written.

If the named file does not exist, is a directory rather than a regular file, or for some other reason cannot be opened for reading then a IOException is thrown.

Parameters:
file - the file to be opened for reading.
Throws:
java.io.IOException - if the file does not exist, is a directory rather than a regular file, or for some other reason cannot be opened for reading.
See Also:
File.getPath()
Method Detail

open

protected void open(GeneralFile file)
             throws java.io.IOException
Opens the given file for use by this stream.

Specified by:
open in class GeneralFileOutputStream
Parameters:
file - the file to be opened.
Throws:
java.io.IOException - if an I/O error occurs.

write

public void write(byte[] buffer,
                  int offset,
                  int length)
           throws java.io.IOException
Writes len bytes from the specified byte array starting at offset off to this file output stream.

Specified by:
write in class GeneralFileOutputStream
Parameters:
b - the data.
off - the start offset in the data.
len - the number of bytes to write.
Throws:
java.io.IOException - if an I/O error occurs.

close

public void close()
           throws java.io.IOException
Closes this file output stream and releases any system resources associated with this stream. This file output stream may no longer be used for writing bytes.

If this stream has an associated channel then the channel is closed as well.

Specified by:
close in interface java.io.Closeable
Specified by:
close in class GeneralFileOutputStream
Throws:
java.io.IOException - if an I/O error occurs.