教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

FTPClient简单例子

来源:网络收集 时间:2026-03-28
导读: import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net.SocketException; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; impo

import java.io.File;

import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;

import java.net.SocketException;

import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile;

import org.apache.commons.net.ftp.FTPListParseEngine; import org.apache.commons.net.ftp.FTPReply;

public class FTP {

private String userName; //FTP 登录用户名 private String password; //FTP 登录密码

private String ip; //FTP 服务器地址IP地址 private int port; //FTP 端口

private FTPClient ftpClient = null; //FTP 客户端代理

public FTP(String userName,String password,String ip,int port) { this.userName = userName; this.password = password; this.ip = ip; this.port = port; }

public boolean connectServer() { boolean flag = true; if (ftpClient == null) { int reply; try {

System.out.println(\ ftpClient = new FTPClient();

ftpClient.setControlEncoding(\//文件名乱码,默认ISO8859-1,不支持中文

// System.out.println(\ ftpClient.setDefaultPort(port); ftpClient.connect(ip);

ftpClient.login(userName, password); System.out.println(\ System.out.print(ftpClient.getReplyString()); reply = ftpClient.getReplyCode(); ftpClient.setDataTimeout(120000);

if (!FTPReply.isPositiveCompletion(reply)) {

ftpClient.disconnect();

System.err.println(\ flag = false; }

} catch (SocketException e) { flag = false;

e.printStackTrace();

System.err.println(\登录ftp服务器 \失败,连接超时!\ } catch (IOException e) { flag = false;

e.printStackTrace();

System.err.println(\登录ftp服务器 \失败,FTP服务器无法打开!\ } }

System.out.println(\登陆ftp服务器成功\ return flag; }

public void listRemoteAllFiles(String path) { try {

FTPListParseEngine f = ftpClient.initiateListParsing(path);

while (f.hasNext()) {

FTPFile[] files = f.getNext(5); for(FTPFile file:files){ disFile(file,path); } }

} catch (IOException e) { e.printStackTrace(); } }

public void disFile(FTPFile file,String path){

if(file.isDirectory() && !file.getName().equals(\ System.out.println(File.separator + file.getName());

listRemoteAllFiles(path+ File.separator +file.getName());

}else if(!file.getName().equals(\ System.out.println(file.getName()); } }

public void closeConnect() {

System.out.println(\关闭ftp服务器\

try {

if (ftpClient != null) { ftpClient.logout(); ftpClient.disconnect(); }

} catch (Exception e) { e.printStackTrace(); } }

public void downFile(String remotePath,String fileName,String localPath) {

FTPFile[] fs; try {

ftpClient.changeWorkingDirectory(remotePath);//转移到FTP服务器目录 fs = ftpClient.listFiles(); for(FTPFile ff:fs){

if(ff.getName().equals(fileName)){

File localFile = new File(localPath+ File.separator +ff.getName());

FileOutputStream is = new FileOutputStream(localFile); ftpClient.retrieveFile(ff.getName(), is); is.close(); } }

} catch (IOException e) { e.printStackTrace(); } }

public void upFile(String path, String filename, String localFilePath){ try {

FileInputStream in=new FileInputStream(new File(localFilePath)); ftpClient.changeWorkingDirectory(path); ftpClient.storeFile(filename, in); in.close();

} catch (Exception e) { e.printStackTrace(); } }

public static void main(String[] args) {

FTP ftp = new FTP(\ ftp.connectServer();

ftp.listRemoteAllFiles(\

// ftp.downFile(\测试报告\测试报告.mmap\// ftp.upFile(\测试报告\个人\\\\save\\\\zip\ ftp.closeConnect(); } }

…… 此处隐藏:1227字,全部文档内容请下载后查看。喜欢就下载吧 ……
FTPClient简单例子.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/566106.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)