Java实现FTP的上传下载功能

xiaFtpList部分是用来显示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);   

   tpClient.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) {;}   

}   

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值