Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## edu.harvard.hul.ois.jhove
Class CountedInputStream

    java.lang.Object
      java.io.InputStream
          java.io.FilterInputStream
              edu.harvard.hul.ois.jhove.CountedInputStream

All Implemented Interfaces:
  java.io.Closeable

    public class CountedInputStream

extends java.io.FilterInputStream

A FilterInputStream which passes only a specified number of bytes, then returns an EOF condition.

Author:
  Gary McGath

Field Summary

Fields inherited from class java.io.FilterInputStream
`in`

Constructor Summary
`CountedInputStream(java.io.InputStream instrm, int count)`

Method Summary
`int` | `read()` Reads a single byte from the stream and decrements the count of remaining bytes.
`int` | `read(byte[] b)` Reads some number of bytes from the input stream and stores them into the buffer array b.
`int` | `read(byte[] b, int off, int len)` Reads up to len bytes of data from the input stream into an array of bytes.
`long` | `skip(long n)` Skips n bytes.

Methods inherited from class java.io.FilterInputStream
`available, close, mark, markSupported, reset`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CountedInputStream

    public CountedInputStream(java.io.InputStream instrm,
                              int count)

Parameters:
  `instrm` - The InputStream being counted
  `count` - The number of bytes to be allowed

Method Detail

### read

    public int read()
             throws java.io.IOException

  Reads a single byte from the stream and decrements the count of remaining bytes. If the count is exhausted, returns -1 to signify end of file.

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

### read

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

  Reads some number of bytes from the input stream and stores them into the buffer array b. The number of bytes actually read is returned as an integer. The number of bytes read will not exceed the number of bytes remaining in the count. The count is decremented by the number of bytes actually read.

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

### read

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

  Reads up to len bytes of data from the input stream into an array of bytes. An attempt is made to read as many as len bytes, but a smaller number may be read, possibly zero. The number of bytes actually read is returned as an integer. The number of bytes read will not exceed the number of bytes remaining in the count. The count is decremented by the number of bytes actually read.

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

### skip

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

  Skips n bytes. Decrements the count by the number of bytes actually skipped.

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

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD