|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.ibm.as400.access.FTP
The FTP class represents a generic ftp client. Methods on the FTP class allow you to connect to an ftp server, send commands to the server, list files on the server, get files from the server, and put files to the server.
Most methods that communicate with the server return a boolean to indicate if the request was successful. The message returned from the server is also available. getLastMessage() is used to retrieve the message from the previous request.
By default, FTP command are sent via server port 21. The initial data transfer type is ASCII. Passive mode is used.
No encryption is provided by this class. The user and password flow un-encrypted to the server. This class is not SSL enabled.
The forward slash is the separator character for paths sent to the FTP server.
Trace information is available by using the com.ibm.as400.access.Trace class. When trace is turned on via that class, FTP will produce debug information.
The following example copies a set of files from a directory on the server.
FTP client = new FTP("myServer", "myUID", "myPWD"); client.cd("/myDir"); client.setDataTransferType(FTP.BINARY); String [] entries = client.ls(); for (int i = 0; i < entries.length; i++) { System.out.println("Copying " + entries[i]); try { client.get(entries[i], "c:\\ftptest\\" + entries[i]); } catch (Exception e) { System.out.println(" copy failed, likely this is a directory"); } } client.disconnect();
Field Summary | |
static int |
ASCII
Transfer files in ASCII mode. |
static int |
BINARY
Transfer files in binary mode. |
Constructor Summary | |
FTP()
Constructs an FTP object. |
|
FTP(java.lang.String server)
Constructs an FTP object. |
|
FTP(java.lang.String server,
java.lang.String user,
java.lang.String password)
Constructs an FTP object. |
Method Summary | |
void |
addFTPListener(FTPListener listener)
Adds a listener to be notified when an FTP event is fired. |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds a listener to be notified when the value of any bound property is changed. |
void |
addVetoableChangeListener(java.beans.VetoableChangeListener listener)
Adds a listener to be notified when the value of any constrained property is changed. |
boolean |
cd(java.lang.String directory)
Sets the current directory on the server to directory. |
boolean |
connect()
Connects to the server. |
java.lang.String[] |
dir()
Lists the contents of the current working directory. |
java.lang.String[] |
dir(java.lang.String criteria)
Lists the contents of the current directory. |
void |
disconnect()
Closes the connection with the server. |
protected void |
finalize()
Closes all streams and sockets before this object is garbage collected. |
java.io.InputStream |
get(java.lang.String fileName)
Starts the process of getting a file from the server. |
boolean |
get(java.lang.String sourceFileName,
java.io.File targetFile)
Gets a file from the server. |
boolean |
get(java.lang.String sourceFileName,
java.lang.String targetFileName)
Gets a file from the server. |
int |
getBufferSize()
Returns the size of the buffer used when transferring files. |
java.lang.String |
getCurrentDirectory()
Returns the current directory on the server. |
java.lang.String |
getLastMessage()
Returns the text of the last reply returned from the server. |
int |
getPort()
Returns the port used to connect to the system. |
java.lang.String |
getServer()
Returns the name of the server. |
java.lang.String |
getUser()
Returns the user. |
java.lang.String |
issueCommand(java.lang.String cmd)
Sends a command to the server, returning the reply from the server. |
java.lang.String[] |
ls()
Lists the contents of the current working directory. |
java.lang.String[] |
ls(java.lang.String criteria)
Lists the contents of the current working directory. |
boolean |
noop()
Sends the NOOP (no operation) command to the server. |
boolean |
put(java.io.File sourceFileName,
java.lang.String targetFileName)
Puts a file to the server. |
java.io.OutputStream |
put(java.lang.String fileName)
Starts the process of putting a file to the server. |
boolean |
put(java.lang.String sourceFileName,
java.lang.String targetFileName)
Puts a file to the server. |
java.lang.String |
pwd()
Returns the current directory on the server. |
void |
removeFTPListener(FTPListener listener)
Removes a listener from the list. |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Removes this listener from being notified when a bound property changes. |
void |
removeVetoableChangeListener(java.beans.VetoableChangeListener listener)
Removes this listener from being notified when a constrained property changes. |
void |
setBufferSize(int bufferSize)
Sets the buffer size used when transferring files. |
boolean |
setCurrentDirectory(java.lang.String directory)
Sets the current directory on the server to directory. |
void |
setDataTransferType(int transferType)
Sets the data transfer type. |
void |
setPassword(java.lang.String password)
Sets the password. |
void |
setPort(int port)
Sets the port to use when connecting to the server. |
void |
setServer(java.lang.String server)
Sets the name of the server. |
void |
setUser(java.lang.String user)
Sets the user identifier used when connecting to the server. |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int ASCII
public static final int BINARY
Constructor Detail |
public FTP()
public FTP(java.lang.String server)
server
- The system to which to connect.public FTP(java.lang.String server, java.lang.String user, java.lang.String password)
server
- The system to which to connect.user
- The userid to use during the login.password
- The password to use during the login.Method Detail |
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
listener
- The PropertyChangeListener.public void addFTPListener(FTPListener listener)
listener
- The object listener.public void addVetoableChangeListener(java.beans.VetoableChangeListener listener)
listener
- The VetoableChangeListener.public boolean cd(java.lang.String directory) throws java.io.IOException
directory
- The current directory to set on the server.java.io.IOException
- If an error occurs while communicating with the server.public boolean connect() throws java.net.UnknownHostException, java.io.IOException, java.lang.IllegalStateException
java.net.UnknownHostException
- If a path to the server cannot be found.java.io.IOException
- If an error occurs while connecting to the server.java.lang.IllegalStateException
- If called before user and password are set.public java.lang.String[] dir() throws java.io.IOException
java.io.IOException
- If an error occurs while communicating with the server.public java.lang.String[] dir(java.lang.String criteria) throws java.io.IOException
criteria
- The search criteria.java.io.IOException
- If an error occurs while communicating with the server.public void disconnect() throws java.io.IOException
java.io.IOException
- If an error occurs while communicating with the server.protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
- If an error occurs during cleanup.public java.io.InputStream get(java.lang.String fileName) throws java.io.IOException, java.io.FileNotFoundException
fileName
- The file to get.java.io.IOException
- If an error occurs while communicating with the server.java.io.FileNotFoundException
- If the name is a directory or the name is not found.public boolean get(java.lang.String sourceFileName, java.lang.String targetFileName) throws java.io.IOException, java.io.FileNotFoundException
sourceFileName
- The file to get on the server.targetFileName
- The file on the target file system.java.io.IOException
- If an error occurs while communicating with the server.java.io.FileNotFoundException
- If the source file or the targe file
cannot be accessed.public boolean get(java.lang.String sourceFileName, java.io.File targetFile) throws java.io.IOException, java.io.FileNotFoundException
sourceFileName
- The file to get on the server.targetFileName
- The file on the target file system.java.io.IOException
- If an error occurs while communicating with the server.java.io.FileNotFoundException
- If the source file or the targe file
cannot be accessed.public int getBufferSize()
public java.lang.String getCurrentDirectory() throws java.io.IOException
java.io.IOException
- If an error occurs while communicating with the server.public java.lang.String getLastMessage()
public int getPort()
public java.lang.String getServer()
public java.lang.String getUser()
public java.lang.String issueCommand(java.lang.String cmd) throws java.io.IOException
The command is not altered before sending it to the server so it
much be recognized by the server. Many FTP applications change
commands so they are recognized by the server. For example, the
command to get a list of files from the server is NLST, not ls. Many
FTP applications convert ls to NLST before sending the command to
the server. This method will not do the conversion.
Throws SecurityException if userid or password is invalid.
command
- The command to send to the server.java.io.IOException
- If an error occurs while communicating with the server.public java.lang.String[] ls() throws java.io.IOException
java.io.IOException
- If an error occurs while communicating with the server.public java.lang.String[] ls(java.lang.String criteria) throws java.io.IOException
criteria
- The search criteria.java.io.IOException
- If an error occurs while communicating with the server.public boolean noop() throws java.io.IOException
java.io.IOException
- If an error occurs while communicating with the server.public java.io.OutputStream put(java.lang.String fileName) throws java.io.IOException
fileName
- The file to put.java.io.IOException
- If an error occurs while communicating with the server.public boolean put(java.lang.String sourceFileName, java.lang.String targetFileName) throws java.io.IOException
sourceFileName
- The file to put.targetFileName
- The file on the server.java.io.IOException
- If an error occurs while communicating with the server.public boolean put(java.io.File sourceFileName, java.lang.String targetFileName) throws java.io.IOException
sourceFileName
- The file to put.targetFileName
- The file on the server.java.io.IOException
- If an error occurs while communicating with the server.public java.lang.String pwd() throws java.io.IOException
java.io.IOException
- If an error occurs while communicating with the server.public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
listener
- The PropertyChangeListener.public void removeFTPListener(FTPListener listener)
listener
- The FTP listener.public void removeVetoableChangeListener(java.beans.VetoableChangeListener listener)
listener
- The VetoableChangeListener.public void setBufferSize(int bufferSize) throws java.beans.PropertyVetoException
size
- The size of the buffer used when transferring files.java.beans.PropertyVetoException
- If the change is vetoed.public boolean setCurrentDirectory(java.lang.String directory) throws java.io.IOException
directory
- The current directory to set on the server.java.io.IOException
- If an error occurs while communicating with the server.public void setDataTransferType(int transferType) throws java.io.IOException
If a connection does not
already exist, a connection is made to the server.
The message returned from the server is saved. Use getLastMessage()
to retrieve it.
Throws SecurityException if userid or password is invalid.
java.io.IOException
- If an error occurs while communicating with the server.public void setPassword(java.lang.String password)
The
- password for the user.public void setPort(int port) throws java.beans.PropertyVetoException
Port
- The port to use when connecting to the server.java.beans.PropertyVetoException
- If the change is vetoed.public void setServer(java.lang.String server) throws java.beans.PropertyVetoException
The
- name of the server to which this object connects.java.beans.PropertyVetoException
- If the change is vetoed.public void setUser(java.lang.String user) throws java.beans.PropertyVetoException
user
- The user identifier used when connecting to the server.java.beans.PropertyVetoException
- If the change is vetoed.java.lang.IllegalStateException
- If connection already established to the server.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |