ftplist部分是用來顯示ftp服務器上的文件;
getbutton部分為從ftp服務器下傳一個文件;
putbutton部分為向ftp服務器上傳一個文件。
別忘了在程序中還要引入兩個庫文件(import sun.net.*,import sun.net.ftp.*)。
以下是這三部分的java源程序:
(1)顯示ftp服務器上的文件
void ftplist_actionperformed(actionevent e) {
string server=serveredit.gettext();
//輸入的ftp服務器的ip地址
string user=useredit.gettext();
//登錄ftp服務器的用戶名
string password=passwordedit.gettext();
//登錄ftp服務器的用戶名的口令
string path=pathedit.gettext();
//ftp服務器上的路徑
try {
ftpclient ftpclient=new ftpclient();
//創建ftpclient對象
ftpclient.openserver(server);
//連接ftp服務器
ftpclient.login(user, password);
//登錄ftp服務器
if (path.length()!=0) ftpclient.cd(path); telnetinputstream is=ftpclient.list(); int c; while ((c=is.read())!=-1) { system.out.print((char) c);} is.close(); ftpclient.closeserver();//退出ftp服務器 } catch (ioexception ex) {;} } |
(2)從ftp服務器上下傳一個文件
void getbutton_actionperformed(actionevent e) { string server=serveredit.gettext(); string user=useredit.gettext(); string password=passwordedit.gettext(); string path=pathedit.gettext(); string filename=filenameedit.gettext(); try { ftpclient ftpclient=new ftpclient(); ftpclient.openserver(server); ftpclient.login(user, password); if (path.length()!=0) ftpclient.cd(path); ftpclient.binary(); telnetinputstream is=ftpclient.get(filename); file file_out=new file(filename); fileoutputstream os=new fileoutputstream(file_out); byte[] bytes=new byte[1024]; int c; while ((c=is.read(bytes))!=-1) { os.write(bytes,0,c); } is.close(); os.close(); ftpclient.closeserver(); } catch (ioexception ex) {;} } |
(3)向ftp服務器上上傳一個文件
void putbutton_actionperformed(actionevent e) { string server=serveredit.gettext(); string user=useredit.gettext(); string password=passwordedit.gettext(); string path=pathedit.gettext(); string filename=filenameedit.gettext(); try { ftpclient ftpclient=new ftpclient(); ftpclient.openserver(server); ftpclient.login(user, password); if (path.length()!=0) ftpclient.cd(path); ftpclient.binary(); telnetoutputstream os=ftpclient.put(filename); file file_in=new file(filename); fileinputstream is=new fileinputstream(file_in); byte[] bytes=new byte[1024]; int c; while ((c=is.read(bytes))!=-1){ os.write(bytes,0,c);} is.close(); os.close(); ftpclient.closeserver(); } catch (ioexception ex) {;} } } |