首页 > 学院 > 开发设计 > 正文

Java程序:FTP的上传下载功能实例

2019-11-17 03:55:20
字体:
来源:转载
供稿:网友
FtpList部分是用来显示FTP服务器上的文件;

GetButton部分为从FTP服务器下传一个文件;

PutButton部分为向FTP服务器上传一个文件。

别忘了在程序中还要引入两个库文件(import sun.net.*,import sun.net.ftp.*)。

以下是这三部分的java源程序:

  1.显示FTP服务器上的文件

view plaincopy to clipboardPRint?
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) {;}   
  }  
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服务器上下传一个文件

view plaincopy to clipboardprint?
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) {;}   
  }  
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服务器上上传一个文件

view plaincopy to clipboardprint?
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) {;}   
  }   
  }  



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yan_auvtech/archive/2009/12/30/5104068.aspx
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表