| |
在java应用程序中如何实现ftp的功能 大连捷通电脑技术有限公司 王 淼
---- 在java的编程中,您也许会遇到ftp方面的编程,本文就来演示如何实现它。
---- 本程序是由jbuilder2.0来开发的,为了节约篇幅我只列出主要的三个部份。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) {;} } }
---- 本程序在win95/98/nt,jbuilder2.0 的环境下编译通过。
|
|