## jcifs.smb
Class SmbFileInputStream

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

All Implemented Interfaces:
  java.io.Closeable

    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
`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
`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`
  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`