jcifs.smb

## Class SmbFileInputStream

- java.lang.Object
- - java.io.InputStream
  - - jcifs.smb.SmbFileInputStream

- All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

      public class SmbFileInputStream
      extends java.io.InputStream

  This InputStream can read bytes from a file on an SMB file server. Offsets are 64 bits.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SmbFileInputStream(SmbFile file)` Creates an `InputStream` for reading bytes from a file on an SMB server represented by the `SmbFile` parameter.
    `SmbFileInputStream(java.lang.String url)` Creates an `InputStream` for reading bytes from a file on an SMB server addressed by the `url` parameter.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `available()` This stream class is unbuffered.
    `void` | `close()` Closes this input stream and releases any system resources associated with the stream.
    `int` | `read()` Reads a byte of data from this input stream.
    `int` | `read(byte[] b)` Reads up to b.length bytes of data from this input stream into an array of bytes.
    `int` | `read(byte[] b, int off, int len)` Reads up to len bytes of data from this input stream into an array of bytes.
    `int` | `readDirect(byte[] b, int off, int len)`
    `protected java.io.IOException` | `seToIoe(SmbException se)`
    `long` | `skip(long n)` Skip n bytes of data on this stream.

    - ### Methods inherited from class java.io.InputStream

      `mark, markSupported, reset`

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

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

- - ### Constructor Detail

    - #### SmbFileInputStream

          public SmbFileInputStream(java.lang.String url)
                             throws SmbException,
                                    java.net.MalformedURLException,
                                    java.net.UnknownHostException

      Creates an `InputStream` for reading bytes from a file on an SMB server addressed by the `url` parameter. See `SmbFile` for a detailed description and examples of the smb URL syntax.
      Parameters:
        `url` - An smb URL string representing the file to read from
      Throws:
        `SmbException`
        `java.net.MalformedURLException`
        `java.net.UnknownHostException`

    - #### SmbFileInputStream

          public SmbFileInputStream(SmbFile file)
                             throws SmbException,
                                    java.net.MalformedURLException,
                                    java.net.UnknownHostException

      Creates an `InputStream` for reading bytes from a file on an SMB server represented by the `SmbFile` parameter. See `SmbFile` for a detailed description and examples of the smb URL syntax.
      Parameters:
        `file` - An `SmbFile` specifying the file to read from
      Throws:
        `SmbException`
        `java.net.MalformedURLException`
        `java.net.UnknownHostException`

  - ### Method Detail

    - #### seToIoe

          protected java.io.IOException seToIoe(SmbException se)

    - #### close

          public void close()
                     throws java.io.IOException

      Closes this input stream and releases any system resources associated with the stream.
      Specified by:
        `close` in interface `java.io.Closeable`
      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      Overrides:
        `close` in class `java.io.InputStream`
      Throws:
        `java.io.IOException` - if a network error occurs

    - #### read

          public int read()
                   throws java.io.IOException

      Reads a byte of data from this input stream.
      Specified by:
        `read` in class `java.io.InputStream`
      Throws:
        `java.io.IOException` - if a network error occurs

    - #### read

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

      Reads up to b.length bytes of data from this input stream into an array of bytes.
      Overrides:
        `read` in class `java.io.InputStream`
      Throws:
        `java.io.IOException` - if a network error occurs

    - #### read

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

      Reads up to len bytes of data from this input stream into an array of bytes.
      Overrides:
        `read` in class `java.io.InputStream`
      Throws:
        `java.io.IOException` - if a network error occurs

    - #### readDirect

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

      Throws:
        `java.io.IOException`

    - #### available

          public int available()
                        throws java.io.IOException

      This stream class is unbuffered. Therefore this method will always return 0 for streams connected to regular files. However, a stream created from a Named Pipe this method will query the server using a "peek named pipe" operation and return the number of available bytes on the server.
      Overrides:
        `available` in class `java.io.InputStream`
      Throws:
        `java.io.IOException`

    - #### skip

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

      Skip n bytes of data on this stream. This operation will not result in any IO with the server. Unlink `InputStream` value less than the one provided will not be returned if it exceeds the end of the file (if this is a problem let us know).
      Overrides:
        `skip` in class `java.io.InputStream`
      Throws:
        `java.io.IOException`