| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.io.InputStream
java.io.FilterInputStream
java.io.BufferedInputStream
javax.mail.util.SharedFileInputStream
public class SharedFileInputStream
A SharedFileInputStream is a
 BufferedInputStream that buffers
 data from the file and supports the mark
 and reset methods.  It also supports the
 newStream method that allows you to create
 other streams that represent subsets of the file.
 A RandomAccessFile object is used to
 access the file data. 
 Note that when the SharedFileInputStream is closed,
 all streams created with the newStream
 method are also closed.  This allows the creator of the
 SharedFileInputStream object to control access to the
 underlying file and ensure that it is closed when
 needed, to avoid leaking file descriptors.  Note also
 that this behavior contradicts the requirements of
 SharedInputStream and may change in a future release.
| Field Summary | |
|---|---|
| protected  long | bufposThe file offset that corresponds to the first byte in the read buffer. | 
| protected  int | bufsizeThe normal size of the read buffer. | 
| protected  long | datalenThe amount of data in this subset of the file. | 
| protected  java.io.RandomAccessFile | inThe file containing the data. | 
| protected  long | startThe file offset of the start of data in this subset of the file. | 
| Fields inherited from class java.io.BufferedInputStream | 
|---|
| buf, count, marklimit, markpos, pos | 
| Constructor Summary | |
|---|---|
| SharedFileInputStream(java.io.File file)Creates a SharedFileInputStreamfor the file. | |
| SharedFileInputStream(java.io.File file,
                      int size)Creates a SharedFileInputStreamwith the specified buffer size. | |
| SharedFileInputStream(java.lang.String file)Creates a SharedFileInputStreamfor the named file | |
| SharedFileInputStream(java.lang.String file,
                      int size)Creates a SharedFileInputStreamwith the specified buffer size. | |
| Method Summary | |
|---|---|
|  int | available()Returns the number of bytes that can be read from this input stream without blocking. | 
|  void | close()Closes this input stream and releases any system resources associated with the stream. | 
| protected  void | finalize()Force this stream to close. | 
|  long | getPosition()Return the current position in the InputStream, as an offset from the beginning of the InputStream. | 
|  void | mark(int readlimit)See the general contract of the markmethod ofInputStream. | 
|  boolean | markSupported()Tests if this input stream supports the markandresetmethods. | 
|  java.io.InputStream | newStream(long start,
          long end)Return a new InputStream representing a subset of the data from this InputStream, starting at start(inclusive)
 up toend(exclusive). | 
|  int | read()See the general contract of the readmethod ofInputStream. | 
|  int | read(byte[] b,
     int off,
     int len)Reads bytes from this stream into the specified byte array, starting at the given offset. | 
|  void | reset()See the general contract of the resetmethod ofInputStream. | 
|  long | skip(long n)See the general contract of the skipmethod ofInputStream. | 
| Methods inherited from class java.io.FilterInputStream | 
|---|
| read | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
protected java.io.RandomAccessFile in
protected int bufsize
protected long bufpos
protected long start
protected long datalen
| Constructor Detail | 
|---|
public SharedFileInputStream(java.io.File file)
                      throws java.io.IOException
SharedFileInputStream
 for the file.
file - the file
java.io.IOException
public SharedFileInputStream(java.lang.String file)
                      throws java.io.IOException
SharedFileInputStream
 for the named file
file - the file
java.io.IOException
public SharedFileInputStream(java.io.File file,
                             int size)
                      throws java.io.IOException
SharedFileInputStream
 with the specified buffer size.
file - the filesize - the buffer size.
IllegalArgumentException - if size <= 0.
java.io.IOException
public SharedFileInputStream(java.lang.String file,
                             int size)
                      throws java.io.IOException
SharedFileInputStream
 with the specified buffer size.
file - the filesize - the buffer size.
IllegalArgumentException - if size <= 0.
java.io.IOException| Method Detail | 
|---|
public int read()
         throws java.io.IOException
read
 method of InputStream.
read in class java.io.BufferedInputStream-1 if the end of the
             stream is reached.
java.io.IOException - if an I/O error occurs.
public int read(byte[] b,
                int off,
                int len)
         throws java.io.IOException
 This method implements the general contract of the corresponding
 readInputStream
read in class java.io.BufferedInputStreamb - destination buffer.off - offset at which to start storing bytes.len - maximum number of bytes to read.
-1 if the end of
             the stream has been reached.
java.io.IOException - if an I/O error occurs.
public long skip(long n)
          throws java.io.IOException
skip
 method of InputStream.
skip in class java.io.BufferedInputStreamn - the number of bytes to be skipped.
java.io.IOException - if an I/O error occurs.
public int available()
              throws java.io.IOException
available in class java.io.BufferedInputStreamjava.io.IOException - if an I/O error occurs.public void mark(int readlimit)
mark
 method of InputStream.
mark in class java.io.BufferedInputStreamreadlimit - the maximum limit of bytes that can be read before
                      the mark position becomes invalid.reset()
public void reset()
           throws java.io.IOException
reset
 method of InputStream.
 
 If markpos is -1
 (no mark has been set or the mark has been
 invalidated), an IOException
 is thrown. Otherwise, pos is
 set equal to markpos.
reset in class java.io.BufferedInputStreamjava.io.IOException - if this stream has not been marked or
               if the mark has been invalidated.mark(int)public boolean markSupported()
mark 
 and reset methods. The markSupported 
 method of SharedFileInputStream returns 
 true.
markSupported in class java.io.BufferedInputStreamboolean indicating if this stream type supports
          the mark and reset methods.InputStream.mark(int), 
InputStream.reset()
public void close()
           throws java.io.IOException
close in interface java.io.Closeableclose in class java.io.BufferedInputStreamjava.io.IOException - if an I/O error occurs.public long getPosition()
getPosition in interface SharedInputStream
public java.io.InputStream newStream(long start,
                                     long end)
start (inclusive)
 up to end (exclusive).  start must be
 non-negative.  If end is -1, the new stream ends
 at the same place as this stream.  The returned InputStream
 will also implement the SharedInputStream interface.
newStream in interface SharedInputStreamstart - the starting positionend - the ending position + 1
protected void finalize()
                 throws java.lang.Throwable
finalize in class java.lang.Objectjava.lang.Throwable| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright © 2009-2011, Oracle Corporation and/or its affiliates. All Rights Reserved. Use is subject to license terms.
Generated on 10-February-2011 12:41