Package org.globus.io.streams

# Class FTPInputStream

java.lang.Object
java.io.InputStream
org.globus.io.streams.GlobusInputStream
org.globus.io.streams.FTPInputStream

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

Direct Known Subclasses:
  `GridFTPInputStream`

public class FTPInputStream extends GlobusInputStream

## Field Summary

Fields
Modifier and Type
Field
Description
`protected FTPClient`
`ftp`
`protected InputStream`
`input`
`protected TransferState`
`state`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`FTPInputStream()`
``
`FTPInputStream(String host, int port, String user, String pwd, String file)`
``
`FTPInputStream(String host, int port, String user, String pwd, String file, boolean passive, int type)`

## Method Summary

Modifier and Type
Method
Description
`void`
`abort()`
Aborts transfer.
`int`
`available()`
`void`
`close()`
`protected void`
`get(boolean passive, int type, String remoteFile)`
`long`
`getSize()`
Returns the total size of input data.
`int`
`read()`
`int`
`read(byte[] msg)`
`int`
`read(byte[] buf, int off, int len)`

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

`mark, markSupported, nullInputStream, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo`

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

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

## Field Details

### input

protected InputStream input

### ftp

protected FTPClient ftp

### state

protected TransferState state

## Constructor Details

### FTPInputStream

protected FTPInputStream()

### FTPInputStream

public FTPInputStream(String host, int port, String user, String pwd, String file) throws IOException, FTPException

Throws:
  `IOException`
  `FTPException`

### FTPInputStream

public FTPInputStream(String host, int port, String user, String pwd, String file, boolean passive, int type) throws IOException, FTPException

Throws:
  `IOException`
  `FTPException`

## Method Details

### get

protected void get(boolean passive, int type, String remoteFile) throws IOException, FTPException

Throws:
  `IOException`
  `FTPException`

### getSize

public long getSize()
Description copied from class: `GlobusInputStream`
Returns the total size of input data.

Overrides:
  `getSize` in class `GlobusInputStream`
Returns:
  -1 if size is unknown.

### abort

public void abort()
Description copied from class: `GlobusInputStream`
Aborts transfer. Usually makes sure to release all resources (sockets, file descriptors)
Does nothing by default.

Overrides:
  `abort` in class `GlobusInputStream`

### close

public void close() throws IOException

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Closeable`
Overrides:
  `close` in class `InputStream`
Throws:
  `IOException`

### read

public int read(byte[] msg) throws IOException

Overrides:
  `read` in class `InputStream`
Throws:
  `IOException`

### read

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

Overrides:
  `read` in class `InputStream`
Throws:
  `IOException`

### read

public int read() throws IOException

Overrides:
  `read` in class `GlobusInputStream`
Throws:
  `IOException`

### available

public int available() throws IOException

Overrides:
  `available` in class `InputStream`
Throws:
  `IOException`