妖怪幻 发表于 2015-5-30 07:00:13

JSP学习笔记(一百二十一):Java中使用edtftpj2.1操作FTP

  edtftpj2.1是第三方操作FTP的应用,操作简单,官方下载地址:http://www.enterprisedt.com/products/edtftpj/choose.html
  选择免费版本下载,我感觉免费版的功能已经够用了。
  下面我们开始使用edtftpj
  
  1.连接以及断开ftp



FileTransferClient ftp = new FileTransferClient();
ftp.setRemoteHost("127.0.0.1"); // ftp服务器ip
ftp.setRemotePort(21); //ftp服务器端口
ftp.setUserName("test1"); //ftp服务器用户名
ftp.setPassword("test1"); //ftp服务器密码
ftp.connect(); //连接ftp服务器
ftp.disconnect(); //断开ftp服务器

  
  
  2.设置中文编码
  默认情况下,操作中文会出现乱码,设置中文编码以后就不会乱码了



ftp.getAdvancedSettings().setControlEncoding("gb2312");

  
  
  3.列举ftp中某路径下列表
  列举ftp服务器/dir目录下的所有文件



ftp.changeDirectory("/dir");
FTPFile[] files = ftp.directoryList();
for (int i = 0; i < files.length; i++) {
FTPFile file = files;
System.out.println(file.getName() + "-" + String.valueOf(file.size()/1024));
}

  
  
  4.创建文件夹
  在ftp服务器/dir目录下创建bb目录



ftp.changeDirectory("/dir");
ftp.createDirectory("bb");

  
  
  5.删除文件夹
  在ftp服务器/dir目录下删除bb目录



ftp.changeDirectory("/dir");
ftp.deleteDirectory("bb");

  
  
  6.修改文件夹的名称
  把ftp服务器/dir目录下的文件夹aa修改为aa2



ftp.changeDirectory("/dir");
ftp.executeCommand("rnfr aa");
ftp.executeCommand("rnto aa2");

  
  
  7.修改文件的名称
  把ftp服务器/dir目录下的file2.rar修改为file.rar



ftp.changeDirectory("/dir");
ftp.executeCommand("rnfr file2.rar");
ftp.executeCommand("rnto file.rar");

  
  
  8.删除文件
  删除ftp服务器/dir目录下的file.rar



ftp.changeDirectory("/dir");
ftp.deleteFile("file.rar");

  
  
  9.下载文件
  下载ftp服务器上/目录下的file.rar



ftp.changeDirectory("/");
byte[] data = ftp.downloadByteArray("file.rar");
InputStream inputStream = new ByteArrayInputStream(data);

  
  
  10.上传文件
  Filedata是一个File类型的数据,把Filedata上传到ftp服务器上/目录下,并且把上传的文件命名为file.rar



ftp.changeDirectory("/");
FileTransferOutputStream output = ftp.uploadStream("file.rar");
output.write(FileUtils.readFileToByteArray(Filedata));
output.close();
页: [1]
查看完整版本: JSP学习笔记(一百二十一):Java中使用edtftpj2.1操作FTP