JavaFTP |
My proposition was to develop a multi-platform FTP Client. This FTP client can be used to transmit data between two separate computer systems via a network connection (i.e. LAN, internet, etc.). The client is programmed with object oriented programming techniques as a Java application. The client was going to follow both models outlined in the RFC 959 (http://www.w3.org/Protocols/rfc959/) specification for the file transfer protocol. However, the client is only written to handle the single server model that is outlined in the RFC 959 specification. Also, the client will currently only create passive data connections. |
The FTP Client's interface is very standard window. I have provided a menu option where the user will be able to open a “new connection” window or to quit. |
When the user is attempting to establish a connection, they will encounter a “Settings Dialog” window that will prompt them for the connection settings. At this time, this window does not save the users information, but it is designed to handle that in future editions. |
Upon selecting connect, the ftp client will establish a connection with the server, download a file listing and provide the user with the means to make their decisions. |
As you can see, I have also added a command line feature that will take commands from the user and pass them to the server. The commands and the responses from the server to these commands will all appear in the center text area. Currently there is an option for a download stream. This option is not implemented. It will permit the user to indicate “yes” or “no” to the need of a download stream. If answered yest, it will ask for the user to name the file that the information downloaded should be placed within. |
During the construction of this client, I used the regular expressions package that is publicly available as a part of the jakarta project (http://jakarta.apache.org/regexp). I used the package in order to extract particular bits of information from the responses from the ftp server. |
The API for this program is located on this same CD in the javadoc folder. |
These are the source code files. JavaFTP.java SettingsDialog.java FTPWindow.java FTPControl.java FTPData.java ErrorDialog.java |