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[i];
	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();
posted @ 2010-12-10 12:05  魔豆  阅读(632)  评论(0编辑  收藏  举报