FTP客户端程序(org.apache.commons.net.ftp)
来源:互联网 发布:索尼 nex和a5000 知乎 编辑:程序博客网 时间:2024/05/05 22:38
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.log4j.Logger;
/** *//**
* <p>Title: FtpHandle</p>
*
* <p>Description: ftp客户端类(使用org.apache.commons.net.ftp包),方便</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: wri</p>
*
* @author javatang
* @version 1.0
*/
public class FtpHandle ...{
private Logger log = Logger.getLogger(FtpHandle.class);
// ftp客户端
FTPClient ftpClient;
// 文件列表
FTPFile[] fileList;
/** *//** */
/** *//**
* @server:服务器名字
* @user:用户名
* @password:密码
* @path:服务器上的路径
* */
public void connectServer(String server, String user, String password,
String path) ...{
try ...{
ftpClient = new FTPClient();
ftpClient.connect(server);
ftpClient.login(user, password);
log.info(" login success !!! ");
if (path.length() != 0) ...{
boolean flag = ftpClient.changeWorkingDirectory(path);
if (flag) ...{
log.debug(" set working directory successful !!! ");
}
}
}
catch (IOException e) ...{
log.info(" not login !!! ");
log.error(e.getMessage());
}
}
/** *//** */
/** *//**
* 关闭连接
* */
public void closeConnect() ...{
try ...{
ftpClient.disconnect();
log.info(" disconnect success !!! ");
}
catch (IOException e) ...{
log.info(" not disconnect !!! ");
log.error(e.getMessage());
}
}
/** *//**
* 上传本地文件到服务器
*
* */
public void upload() ...{
String uploadFileName = " c:/work ";
try ...{
File uploadFile = new File(uploadFileName);
File[] fileList = uploadFile.listFiles();
if(fileList==null)...{
return;
}
for (int i = 0; i < fileList.length; i++) ...{
FileInputStream fis = new FileInputStream(fileList[i]);
String destinationFileName = fileList[i].getName();
String tempFileName = " temp_ " + destinationFileName;
// 上传本地文件到服务器上(文件名以'temp_'开头,当上传完毕后,名字改为正式名)
boolean flag = ftpClient.storeFile(tempFileName, fis);
if (flag) ...{
log.info(" upload success !!! ");
// 上传完毕后,名字改为正式名(该方法在远程有效,本地不用此方法,而用renameTo方法)
ftpClient.rename(tempFileName, destinationFileName);
}
// 关闭文件流
fis.close();
}
}
catch (IOException e) ...{
log.info(" not upload !!! ");
log.info(e.getMessage());
}
}
/** *//**
* 从服务器下载文件到本地
* */
public void download() ...{
try ...{
fileList = ftpClient.listFiles();
ftpClient.makeDirectory(" zjp "); // 在服务器上创建目录(测试用,可删除)
ftpClient.removeDirectory(" zjp "); // 在服务器上删除词此目录,注意该目录下为空(测试用,可删除)
for (int i = 0; i < fileList.length; i++) ...{
String name = fileList[i].getName();
File temp_file = new File(" c:/ " + " temp_ " + name);
File dest_file = new File(" c:/ " + name);
FileOutputStream fos = new FileOutputStream(temp_file);
// 从服务器上下载文件
boolean flag = ftpClient.retrieveFile(name, fos);
// 关闭文件流
fos.close();
if (flag) ...{
// 本地rename,前提是先关闭文件流
temp_file.renameTo(dest_file);
log.info(" download success !!! ");
}
}
}
catch (IOException e) ...{
log.info(" not download !!! ");
log.error(e.getMessage());
}
}
/** *//**
* 测试函数
* */
public static void main(String[] args) ...{
FtpHandle fd = new FtpHandle();
fd.connectServer(" 127.0.0.1 ", " iss ", " iss ",
" /home/iss/connectCDR ");
fd.upload();
fd.download();
fd.closeConnect();
}
}
- FTP客户端程序(org.apache.commons.net.ftp)
- org.apache.commons.net.ftp
- 使用org.apache.commons.net.ftp包开发FTP客户端,实现进度汇报,实现断点续
- 利用org.apache.commons.net.ftp包实现一个简单的ftp客户端实用类
- org.apache.commons.net.ftp使用心得
- org.apache.commons.net.ftp.FTPClient使用
- org.apache.commons.net.ftp.FTPClient 例子
- org.apache.commons.net.ftp.FTPClient
- org.apache.commons.net.ftp Class FTPClient
- org.apache.commons.net.ftp.FTPClient
- 使用org.apache.commons.net.ftp包开发FTP客户端,实现进度汇报,实现断点续传,中文支持
- 使用org.apache.commons.net.ftp包开发FTP客户端,实现进度汇报,实现断点续传,中文支持
- 使用org.apache.commons.net.ftp包开发FTP客户端,实现进度汇报,实现断点续传,中文支持
- 使用org.apache.commons.net.ftp包开发FTP客户端,实现进度汇报,实现断点续传,中文支持
- 使用org.apache.commons.net.ftp包开发FTP客户端,实现进度汇报,实现断点续传,中文支持
- 使用org.apache.commons.net.ftp包开发FTP客户端,实现进度汇报,实现断点续传,中文支持
- org.apache.commons.net.ftp.FTPClient使用总结
- java ftp org.apache.commons.net.io.CopyStreamException
- 《纵横天下》开发日志[2007-04-13]
- C#泛型
- 密码学领域重大发现:山东大学王小云教授成功破解MD5
- 中国3G的前途和钱途在哪儿?
- JAVA中的传值与传引用
- FTP客户端程序(org.apache.commons.net.ftp)
- 用实体关系图进行数据库建模
- J2EE文萃:做好网站开发项目需求的分析
- DataAdapter 的批量更新
- 《纵横天下》开发日志[2007-04-30]
- 软件名人堂
- 基于MVC设计模式的WEB应用框架研究
- 将XercesJ 2.9.0的所有功能编译到一个JAR文件中
- 《纵横天下》开发日志[2007-05-11]