ftp 上传和下载

 package remotecall;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;

/**
 * @author
 * @Description ftp操作
 */
public class Ftp {
 /**
  * 获取Ftp目录下的列表
  */
   String server = "";// 输入的FTP服务器的IP地址
   String user = "";// 登录FTP服务器的用户名
   String password = "";// 登录FTP服务器的用户名的口令
   String path = "";// FTP服务器上的路径
   String filename = "";// 下载的文件名
 public void getftpList() {
 
  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) {
   System.out.println(ex.getMessage());
  }
 }
 /**
  * 下载FTP上的文件
  */
 public void getFtpFile() {
  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) {
   System.out.println(ex.getMessage());
  }
 }
 /**
  * 上传文件到FTP
  */
 public void putFtpFile() {
  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) {
   System.out.println(ex.getMessage());
  }
 }
 
 public static void main(String[] args) {
 Ftp f=new Ftp();
 f.getftpList();
}
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值