org.rosuda.JRclient
Class RFileInputStream

java.lang.Object
  extended byjava.io.InputStream
      extended byorg.rosuda.JRclient.RFileInputStream

public class RFileInputStream
extends InputStream

RFileInputStream is an InputStream to transfer files from Rserve server to the client. It is used very much like a FileInputStream. Currently mark and seek is not supported. The current implementation is also "one-shot" only, that means the file can be read only once.

Version:
$Id: RFileInputStream.java,v 1.1 2005/10/05 20:20:16 eytanadar Exp $

Method Summary
 void close()
          close stream - is not related to the actual Rconnection, calling close does not close the Rconnection
 int read()
          reads one byte from the file.
 int read(byte[] b, int off, int len)
          Reads specified number of bytes (or less) from the remote file.
 
Methods inherited from class java.io.InputStream
available, mark, markSupported, read, reset, skip
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

read

public int read()
         throws IOException
reads one byte from the file. This function should be avoided, since RFileInputStream provides no buffering. This means that each call to this function leads to a complete packet exchange between the server and the client. Use read(byte[],int,int) instead whenever possible. In fact this function calls #read(b,0,1).

Returns:
-1 on any failure, or the acquired byte (0..255) on success
Throws:
IOException

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
Reads specified number of bytes (or less) from the remote file.

Parameters:
b - buffer to store the read bytes
off - offset where to strat filling the buffer
len - maximal number of bytes to read
Returns:
number of bytes read or -1 if EOF reached
Throws:
IOException

close

public void close()
           throws IOException
close stream - is not related to the actual Rconnection, calling close does not close the Rconnection

Throws:
IOException