org.bouncycastle.mail.smime.util

## Class SharedFileInputStream

- java.lang.Object
- - java.io.InputStream
  - - java.io.FilterInputStream
    - - org.bouncycastle.mail.smime.util.SharedFileInputStream

All Implemented Interfaces:
  java.io.Closeable

    public class SharedFileInputStream
    extends java.io.FilterInputStream

### Field Summary

### Fields inherited from class java.io.FilterInputStream

`in`

### Constructor Summary

Constructors
Constructor and Description
`SharedFileInputStream(java.io.File file)`
`SharedFileInputStream(java.lang.String fileName)`

### Method Summary

Methods
`void` `dispose()` Close of this stream and any substreams that have been created from it.
`long` `getPosition()`
`SharedFileInputStream` `getRoot()` Return the shared stream that represents the top most stream that this stream inherits from.
`void` `mark(int readLimit)`
`boolean` `markSupported()`
`java.io.InputStream` `newStream(long start, long finish)`
`int` `read()`
`int` `read(byte[] buf)`
`int` `read(byte[] buf, int off, int len)`
`void` `reset()`
`long` `skip(long n)`

### Methods inherited from class java.io.FilterInputStream

`available, close`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SharedFileInputStream

    public SharedFileInputStream(java.lang.String fileName)
                          throws java.io.IOException

Throws:
  `java.io.IOException`

#### SharedFileInputStream

    public SharedFileInputStream(java.io.File file)
                          throws java.io.IOException

Throws:
  `java.io.IOException`

### Method Detail

#### getPosition

    public long getPosition()

#### newStream

    public java.io.InputStream newStream(long start,
                                long finish)

#### read

    public int read(byte[] buf)
             throws java.io.IOException

Overrides:
  `read` in class `java.io.FilterInputStream`
Throws:
  `java.io.IOException`

#### read

    public int read(byte[] buf,
           int off,
           int len)
             throws java.io.IOException

Overrides:
  `read` in class `java.io.FilterInputStream`
Throws:
  `java.io.IOException`

#### read

    public int read()
             throws java.io.IOException

Overrides:
  `read` in class `java.io.FilterInputStream`
Throws:
  `java.io.IOException`

#### markSupported

    public boolean markSupported()

Overrides:
  `markSupported` in class `java.io.FilterInputStream`

#### skip

    public long skip(long n)
              throws java.io.IOException

Overrides:
  `skip` in class `java.io.FilterInputStream`
Throws:
  `java.io.IOException`

#### mark

    public void mark(int readLimit)

Overrides:
  `mark` in class `java.io.FilterInputStream`

#### reset

    public void reset()
               throws java.io.IOException

Overrides:
  `reset` in class `java.io.FilterInputStream`
Throws:
  `java.io.IOException`

#### getRoot

    public SharedFileInputStream getRoot()

Return the shared stream that represents the top most stream that this stream inherits from.

Returns:
  the base of the shared stream tree.

#### dispose

    public void dispose()
                 throws java.io.IOException

Close of this stream and any substreams that have been created from it.

Throws:
  `java.io.IOException` - on problem closing the main stream.