Package jcifs.smb

# Class SmbFileInputStream

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

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

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

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
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 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, nullInputStream, readAllBytes, readNBytes, readNBytes, reset, skipNBytes, transferTo`

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

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

## Constructor Details

### SmbFileInputStream

public SmbFileInputStream(String url) throws SmbException, MalformedURLException, 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`
  `MalformedURLException`
  `UnknownHostException`

### SmbFileInputStream

public SmbFileInputStream(SmbFile file) throws SmbException, MalformedURLException, 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`
  `MalformedURLException`
  `UnknownHostException`

## Method Details

### seToIoe

protected IOException seToIoe(SmbException se)

### close

public void close() throws IOException
Closes this input stream and releases any system resources associated with the stream.

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Closeable`
Overrides:
  `close` in class `InputStream`
Throws:
  `IOException` - if a network error occurs

### read

public int read() throws IOException
Reads a byte of data from this input stream.

Specified by:
  `read` in class `InputStream`
Throws:
  `IOException` - if a network error occurs

### read

public int read(byte[] b) throws IOException
Reads up to b.length bytes of data from this input stream into an array of bytes.

Overrides:
  `read` in class `InputStream`
Throws:
  `IOException` - if a network error occurs

### read

public int read(byte[] b, int off, int len) throws IOException
Reads up to len bytes of data from this input stream into an array of bytes.

Overrides:
  `read` in class `InputStream`
Throws:
  `IOException` - if a network error occurs

### readDirect

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

Throws:
  `IOException`

### available

public int available() throws 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 `InputStream`
Throws:
  `IOException`

### skip

public long skip(long n) throws 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 `InputStream`
Throws:
  `IOException`