public class AS400FTP extends FTP implements java.io.Serializable
AS400FTP does the following extra processing:
One restriction when the client is an IBM i system -- the userid and password must be set on the AS400 object in this environment. That is, *CURRENT will not work when connecting from one IBM i system to another IBM i system.
The extra processing includes internally using Toolbox CommandCall to create the save file on the system. The default *Public authority is *EXCLUDE. Use the setSaveFilePublicAuthority() method to change the *Public authority value specified on the create save file command.
No encryption is provided by this class. The userid and password flow un-encrypted to the system. This class is not SSL enabled.
The forward slash is the separator character for paths sent to the FTP server.
The following example puts a save file to the system. Note the application does not set data transfer type to binary or use Toolbox CommandCall to create the save file. Since the extension is .savf, AS400FTP class detects the file to put is a save file so it does these step automatically.
AS400 system = new AS400(); AS400FTP ftp = new AS400FTP(system); ftp.put("myData.savf", "/QSYS.LIB/MYLIB.LIB/MYDATA.SAVF");
ACTIVE_MODE, ASCII, BINARY, PASSIVE_MODE
Constructor and Description |
---|
AS400FTP()
Constructs an AS400FTP object.
|
AS400FTP(AS400 system)
Constructs an AS400FTP object.
|
Modifier and Type | Method and Description |
---|---|
boolean |
append(java.io.File sourceFileName,
java.lang.String targetFileName)
Appends to a file on the system.
|
java.io.OutputStream |
append(java.lang.String fileName)
Starts the process of appending to a file on the system.
|
boolean |
append(java.lang.String sourceFileName,
java.lang.String targetFileName)
Appends to a file on the system.
|
boolean |
cd(java.lang.String directory)
Sets the current directory on the system to directory.
|
boolean |
connect()
Connects to the system.
|
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.
|
java.io.InputStream |
get(java.lang.String fileName)
Starts the process of getting a file from the system.
|
boolean |
get(java.lang.String sourceFileName,
java.io.File targetFile)
Gets a file from the system.
|
boolean |
get(java.lang.String sourceFileName,
java.lang.String targetFileName)
Gets a file from the system.
|
java.lang.String |
getCurrentDirectory()
Returns the current directory on the system.
|
java.lang.String |
getSaveFilePublicAuthority()
Returns the public authority of save files created by
this object.
|
AS400 |
getSystem()
Returns the name of the system.
|
java.lang.String |
issueCommand(java.lang.String cmd)
Sends a command to the system, returning the reply from the system.
|
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 directory.
|
boolean |
noop()
Sends the NOOP (no operation) command to the system.
|
boolean |
put(java.io.File sourceFileName,
java.lang.String targetFileName)
Puts a file to the system.
|
java.io.OutputStream |
put(java.lang.String fileName)
Starts the process of putting a file to the system.
|
boolean |
put(java.lang.String sourceFileName,
java.lang.String targetFileName)
Puts a file to the system.
|
java.lang.String |
pwd()
Returns the current directory on the system.
|
boolean |
setCurrentDirectory(java.lang.String directory)
Sets the current directory on the system to directory.
|
void |
setDataTransferType(int transferType)
Sets the data transfer type.
|
void |
setPassword(java.lang.String password)
Calling setPassword() is valid only for FTP objects.
|
void |
setSaveFilePublicAuthority(java.lang.String publicAuthority)
Sets the public authority of save files created by
this object.
|
void |
setServer(java.lang.String server)
Calling setServer() is valid only for FTP objects.
|
void |
setSystem(AS400 system)
Sets the name of the system.
|
void |
setUser(java.lang.String user)
Calling setUser() is valid only for FTP objects.
|
addFTPListener, addPropertyChangeListener, addVetoableChangeListener, disconnect, finalize, generateNewName, getBufferSize, getLastMessage, getMode, getPort, getServer, getUser, isReuseSocket, removeFTPListener, removePropertyChangeListener, removeVetoableChangeListener, ren, setBufferSize, setMode, setPort, setReuseSocket, setTimeOut
public AS400FTP()
public AS400FTP(AS400 system)
system
- The system to which to connect.public java.io.OutputStream append(java.lang.String fileName) throws java.io.IOException
append
in class FTP
fileName
- The file to put.java.io.IOException
- If an error occurs while communicating with the system.public boolean append(java.lang.String sourceFileName, java.lang.String targetFileName) throws java.io.IOException
public boolean append(java.io.File sourceFileName, java.lang.String targetFileName) throws java.io.IOException
public boolean cd(java.lang.String directory) throws java.io.IOException
public boolean connect() throws java.net.UnknownHostException, java.io.IOException, java.lang.IllegalStateException
connect
in class FTP
java.net.UnknownHostException
- If a path to the system cannot be found.java.io.IOException
- If an error occurs while connecting to the system.java.lang.IllegalStateException
- If called before user and password are set.setSystem(com.ibm.as400.access.AS400)
public java.lang.String[] dir() throws java.io.IOException
public java.lang.String[] dir(java.lang.String criteria) throws java.io.IOException
public java.io.InputStream get(java.lang.String fileName) throws java.io.IOException, java.io.FileNotFoundException
get
in class FTP
fileName
- The file to get.java.io.IOException
- If an error occurs while communicating with the system.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
get
in class FTP
sourceFileName
- The file to get on the system.targetFileName
- The file on the target file system.java.io.IOException
- If an error occurs while communicating with the system.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
get
in class FTP
sourceFileName
- The file to get on the system.targetFile
- The file on the target file system.java.io.IOException
- If an error occurs while communicating with the system.java.io.FileNotFoundException
- If the source file or the targe file
cannot be accessed.public java.lang.String getCurrentDirectory() throws java.io.IOException
getCurrentDirectory
in class FTP
java.io.IOException
- If an error occurs while communicating with the system.public java.lang.String getSaveFilePublicAuthority()
public AS400 getSystem()
public java.lang.String issueCommand(java.lang.String cmd) throws java.io.IOException
The command is not altered before sending it to the system, so it must be recognized by the system. Many FTP applications change commands so they are recognized by the system. For example, the command to get a list of files from the system is NLST, not ls. Many FTP applications convert ls to NLST before sending the command to the system. This method will not do the conversion.
issueCommand
in class FTP
cmd
- The command to send to the system.java.io.IOException
- If an error occurs while communicating with the system.public java.lang.String[] ls() throws java.io.IOException
public java.lang.String[] ls(java.lang.String criteria) throws java.io.IOException
public boolean noop() throws java.io.IOException
public java.io.OutputStream put(java.lang.String fileName) throws java.io.IOException
put
in class FTP
fileName
- The file to put.java.io.IOException
- If an error occurs while communicating with the system.public boolean put(java.lang.String sourceFileName, java.lang.String targetFileName) throws java.io.IOException
public boolean put(java.io.File sourceFileName, java.lang.String targetFileName) throws java.io.IOException
public java.lang.String pwd() throws java.io.IOException
public boolean setCurrentDirectory(java.lang.String directory) throws java.io.IOException
setCurrentDirectory
in class FTP
directory
- The current directory to set on the system.java.io.IOException
- If an error occurs while communicating with the system.public void setDataTransferType(int transferType) throws java.io.IOException
If a connection does not already exist, a connection is made to the system. The message returned from the system is saved. Use getLastMessage() to retrieve it.
setDataTransferType
in class FTP
transferType
- ASCII or BINARYjava.io.IOException
- If an error occurs while communicating with the system.public void setPassword(java.lang.String password)
setPassword
in class FTP
password
- The password for the user.public void setSaveFilePublicAuthority(java.lang.String publicAuthority) throws java.beans.PropertyVetoException
Valid values are:
The default value is *EXCLUDE
publicAuthority
- *PUBLIC authority.java.beans.PropertyVetoException
- If the change is vetoed.public void setServer(java.lang.String server) throws java.beans.PropertyVetoException
public void setSystem(AS400 system) throws java.beans.PropertyVetoException
system
- The name of the system to which this object connects.java.beans.PropertyVetoException
- If the change is vetoed.public void setUser(java.lang.String user) throws java.beans.PropertyVetoException