All Packages Class Hierarchy This Package Previous Next Index
Class com.ibm.as400.access.AS400FTP
java.lang.Object
|
+----com.ibm.as400.access.FTP
|
+----com.ibm.as400.access.AS400FTP
- public class AS400FTP
- extends FTP
- implements Serializable
The AS400FTP class represents a client for the AS/400 FTP server.
It is written to take advantage of AS/400 server features.
Use the parent class, FTP, if you need a generic
client.
AS400FTP does the following extra processing:
- Using the AS400 object to determine system name,
userid and password so these properties can be shared with other
Toolbox classes. If you use the FTP class, your application must set
the system name, userid, and password in both the FTP class and other
Toolbox classes.
One restriction when the client is an AS/400 --
the userid and password must be
set on the AS400 object in this environment. That is, *CURRENT
will not work when connecting from one AS/400 to another AS/400.
-
Automatically setting the current directory to the
root of the AS/400 when a connection is made. If the
FTP class is used, the root may be QSYS.LIB when
a connection is made. The integrated file system name
of objects in libraries must be used to access them.
For example, /QSYS.LIB/MYLIB.LIB/MYFILE.FILE. See
QSYSObjectPathName documentation for more information.
-
Handling extra work necessary to put a save file
to the AS/400. If you use the FTP class, you have to
do the extra steps. The extra processing is done only
if the extension of the file is .savf and the file will be
put into an AS/400 library.
The extra processing includes internally using Toolbox CommandCall
to create the save file on the AS/400. 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 server. 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 AS/400.
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");
-
AS400FTP()
- Constructs an AS400FTP object.
-
AS400FTP(AS400)
- Constructs an AS400FTP object.
-
cd(String)
- Sets the current directory on the server to directory.
-
connect()
- Connects to the server.
-
dir()
- Lists the contents of the current working directory.
-
get(String)
- Starts the process of getting a file from the server.
-
get(String, File)
- Gets a file from the server.
-
get(String, String)
- Gets a file from the server.
-
getCurrentDirectory()
- Returns the current directory on the server.
-
getSaveFilePublicAuthority()
- Returns the public authority of save files created by
this object.
-
getSystem()
- Returns the name of the server.
-
issueCommand(String)
- Sends a command to the server, returning the reply from the server.
-
ls()
- Lists the contents of the current working directory.
-
noop()
- Sends the NOOP (no operation) command to the server.
-
put(File, String)
- Puts a file to the server.
-
put(String)
- Starts the process of putting a file to the server.
-
put(String, String)
- Puts a file to the server.
-
pwd()
- Returns the current directory on the server.
-
setCurrentDirectory(String)
- Sets the current directory on the server to directory.
-
setDataTransferType(int)
- Sets the data transfer type.
-
setPassword(String)
- Calling setPassword() is valid only for FTP objects.
-
setSaveFilePublicAuthority(String)
- Sets the public authority of save files created by
this object.
-
setServer(String)
- Calling setServer() is valid only for FTP objects.
-
setSystem(AS400)
- Sets the name of the server.
-
setUser(String)
- Calling setUser() is valid only for FTP objects.
AS400FTP
public AS400FTP()
- Constructs an AS400FTP object.
The AS400 object must be set before
requests are sent to the server.
- See Also:
- setSystem
AS400FTP
public AS400FTP(AS400 system)
- Constructs an AS400FTP object.
- Parameters:
- server - The AS/400 to which to connect.
cd
public boolean cd(String directory) throws IOException
- Sets the current directory on the server to directory.
The method is the same as setCurrentDirectory().
The message returned from the server is saved. Use getLastMessage()
to retrieve it.
- Parameters:
- directory - The current directory to set on the server.
- Returns:
- true if directory changed; false otherwise.
- Throws: IOException
- If an error occurs while communicating with the server.
- Overrides:
- cd in class FTP
connect
public synchronized boolean connect() throws UnknownHostException, IOException, IllegalStateException
- Connects to the server.
The AS400 object must be set
before calling this method.
Calling connect is optional. Methods that communicate
with the server such as get, put, cd, and ls call connect()
if necessary.
The message returned from the server is saved. Use getLastMessage()
to retrieve it.
- Returns:
- true if connection is successful; false otherwise.
- Throws: UnknownHostException
- If a path to the server cannot be found.
- Throws: IOException
- If an error occurs while connecting to the server.
- Throws: IllegalStateException
- If called before user and password are set.
- Overrides:
- connect in class FTP
- See Also:
- setSystem
dir
public String[] dir() throws IOException
- Lists the contents of the current working directory. File name and
attributes are returned for each entry in the directory.
An array of length zero is returned if the directory is empty.
- Returns:
- The contents of the directory as an array of Strings.
- Throws: IOException
- If an error occurs while communicating with the server.
- Overrides:
- dir in class FTP
get
public InputStream get(String fileName) throws IOException, FileNotFoundException
- Starts the process of getting a file from the server. AS400FTP
opens the data connection to the server, then opens the file on
the server and returns an input stream to the caller. The caller
reads the file's data from the input stream.
The source file is on the server, accessed via FTP so the path
separator character (if any) must be a forward slash.
- Parameters:
- fileName - The file to get.
- Returns:
- An input stream to the file. The caller uses the input
stream to read the data from the file. Null is returned
if the connection to the server fails.
- Throws: IOException
- If an error occurs while communicating with the server.
- Throws: FileNotFoundException
- If the name is a directory or the name is not found.
- Overrides:
- get in class FTP
get
public boolean get(String sourceFileName,
String targetFileName) throws IOException, FileNotFoundException
- Gets a file from the server.
The source file is on the server, accessed via FTP so the path
separator character (if any) must be a forward slash.
The target file is on the client, accessed via java.io
so the path separator character (if any) must be client specific.
- Parameters:
- sourceFileName - The file to get on the server.
- targetFileName - The file on the target file system.
- Returns:
- true if the copy was successful; false otherwise.
- Throws: IOException
- If an error occurs while communicating with the server.
- Throws: FileNotFoundException
- If the source file or the targe file
cannot be accessed.
- Overrides:
- get in class FTP
get
public boolean get(String sourceFileName,
File targetFile) throws IOException, FileNotFoundException
- Gets a file from the server.
The source file is on the server, accessed via FTP so the path
separator character (if any) must be a forward slash.
The target file is an instance of Java.io.file.
- Parameters:
- sourceFileName - The file to get on the server.
- targetFileName - The file on the target file system.
- Returns:
- true if the copy was successful; false otherwise.
- Throws: IOException
- If an error occurs while communicating with the server.
- Throws: FileNotFoundException
- If the source file or the targe file
cannot be accessed.
- Overrides:
- get in class FTP
getCurrentDirectory
public String getCurrentDirectory() throws IOException
- Returns the current directory on the server.
- Returns:
- The current directory on the server.
Null is returned if the connection to the server fails.
- Throws: IOException
- If an error occurs while communicating with the server.
- Overrides:
- getCurrentDirectory in class FTP
getSaveFilePublicAuthority
public String getSaveFilePublicAuthority()
- Returns the public authority of save files created by
this object. If this object detects putting a save file
to the library file system of the AS/400, it will first
create the save file by sending a CRTSAVF command to
the AS/400. The method lets you set the *PUBLIC authority
value on the CRTSAVF command. The default is *EXCLUDE.
- Returns:
- The authority granted to *PUBLIC.
getSystem
public AS400 getSystem()
- Returns the name of the server. Null is returned if no system has
been set.
- Returns:
- The name of the server to which this object connects.
issueCommand
public synchronized String issueCommand(String cmd) throws IOException
- Sends a command to the server, returning the reply from the server.
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.
- Parameters:
- command - The command to send to the server.
- Returns:
- The reply to the command.
Null is returned if the connection to the server fails.
- Throws: IOException
- If an error occurs while communicating with the server.
- Overrides:
- issueCommand in class FTP
ls
public String[] ls() throws IOException
- Lists the contents of the current working directory. If the directory
is empty, an empty list is returned.
- Returns:
- The contents of the directory as an array of Strings.
- Throws: IOException
- If an error occurs while communicating with the server.
- Overrides:
- ls in class FTP
noop
public boolean noop() throws IOException
- Sends the NOOP (no operation) command to the server. This
request is most useful to see if the connection to the server
is still active
- Returns:
- true if the request was successful, false otherwise.
- Throws: IOException
- If an error occurs while communicating with the server.
- Overrides:
- noop in class FTP
put
public synchronized OutputStream put(String fileName) throws IOException
- Starts the process of putting a file to the server. AS400FTP
opens the data connection to the server, then opens the file on
the server and returns an output stream to the caller. The caller
then writes the file's data to the output stream.
- Parameters:
- fileName - The file to put.
- Returns:
- An output stream to the file. The caller uses the output
stream to write data to the file.
Null is returned if the connection to the server fails.
- Throws: IOException
- If an error occurs while communicating with the server.
- Overrides:
- put in class FTP
put
public synchronized boolean put(String sourceFileName,
String targetFileName) throws IOException
- Puts a file to the server.
- Parameters:
- sourceFileName - The file to put.
- targetFileName - The file on the server.
- Returns:
- true if the copy was successful; false otherwise.
- Throws: IOException
- If an error occurs while communicating with the server.
- Overrides:
- put in class FTP
put
public synchronized boolean put(File sourceFileName,
String targetFileName) throws IOException
- Puts a file to the server.
- Parameters:
- sourceFileName - The file to put.
- targetFileName - The file on the server.
- Returns:
- true if the copy was successful; false otherwise.
- Throws: IOException
- If an error occurs while communicating with the server.
- Overrides:
- put in class FTP
pwd
public synchronized String pwd() throws IOException
- Returns the current directory on the server. PWD is the ftp
command Print Working Directory.
- Returns:
- The current directory on the server.
Null is returned if the connection to the server fails.
- Throws: IOException
- If an error occurs while communicating with the server.
- Overrides:
- pwd in class FTP
setCurrentDirectory
public synchronized boolean setCurrentDirectory(String directory) throws IOException
- Sets the current directory on the server to directory.
The method is the same as cd().
The message returned from the server is saved. Use getLastMessage()
to retrieve it.
- Parameters:
- directory - The current directory to set on the server.
- Returns:
- true if directory changed; false otherwise.
- Throws: IOException
- If an error occurs while communicating with the server.
- Overrides:
- setCurrentDirectory in class FTP
setDataTransferType
public void setDataTransferType(int transferType) throws IOException
- Sets the data transfer type. Valid values are:
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: IOException
- If an error occurs while communicating with the server.
- Overrides:
- setDataTransferType in class FTP
setPassword
public void setPassword(String password)
- Calling setPassword() is valid only for FTP objects. An
IllegalStateException is thrown if setPassword() is called
on an AS400FTP object. SetPassword() is not needed
because AS400FTP gets the
password from the AS400 object.
- Overrides:
- setPassword in class FTP
setSaveFilePublicAuthority
public void setSaveFilePublicAuthority(String publicAuthority) throws PropertyVetoException
- Sets the public authority of save files created by
this object. If this object detects putting a save file
to the library file system of the AS/400, it will first
create the save file by sending a CRTSAVF command to
the AS/400. Through this method you can set the *PUBLIC
authority used when sending the CRTSAVF command. The
value is set only if the save file is created. The public
authority of an existing save file is not changed.
Valid values are:
- *ALL
- *CHANGE
- *EXCLUDE
- *LIBCRTAUT
- *USE
- authorization-list name.
The default value is *EXCLUDE
- Parameters:
- publicAuthoirty - *PUBLIC authority.
- Throws: PropertyVetoException
- If the change is vetoed.
setServer
public void setServer(String server) throws PropertyVetoException
- Calling setServer() is valid only for FTP objects. An
IllegalStateException is thrown if setServer() is called
on an AS400FTP object. SetServer() is not needed
because AS400FTP gets the
system name from the AS400 object.
- Throws: PropertyVetoException
- If the change is vetoed.
- Overrides:
- setServer in class FTP
setSystem
public synchronized void setSystem(AS400 system) throws PropertyVetoException
- Sets the name of the server. The system name cannot be changed once
a connection is made to the server.
- Parameters:
- system - The name of the server to which this object connects.
- Throws: PropertyVetoException
- If the change is vetoed.
setUser
public void setUser(String user) throws PropertyVetoException
- Calling setUser() is valid only for FTP objects. An
IllegalStateException is thrown if setUser() is called
on an AS400FTP object. SetUser() is not needed
because AS400FTP gets the
userid from the AS400 object.
- Throws: PropertyVetoException
- If the change is vetoed.
- Overrides:
- setUser in class FTP
All Packages Class Hierarchy This Package Previous Next Index