博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java ftpclient 代码_java后台代码ftpclient下载文件
阅读量:6501 次
发布时间:2019-06-24

本文共 1583 字,大约阅读时间需要 5 分钟。

private String ip = "XXXXXXXX";

private String passWord = "XXXXXXXX";

private String username = "XXXXXXXX";

private int port = XXXXXXXX;

private static String dir = "XXXXXXXX";//文件所在目录以及保存目录,这里用了一个

private String fileName = "XXXXXXXX";

private String fileType = ".xls";

//总入口

public void download() {

FTPClient client = getclient();

createLocalFilesFromFtp(client);

}

//获得FTPClient:

public FTPClient getclient() {

Logger.info("连接ftp");

FTPClient ftpClient = new FTPClient();

try {

ftpClient.connect(ip, port);

ftpClient.login(username, passWord);// 登录

int reply = ftpClient.getReplyCode();

if (!FTPReply.isPositiveCompletion(reply)) { // 是否连接成功

ftpClient.disconnect(); // 断开连接

}

ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);

} catch (Exception e) {

Logger.info("连接失败,失败原因:" + e.getMessage() + "!");

e.printStackTrace();

}

return ftpClient;

}

//保存文件到本地

public void createLocalFilesFromFtp(FTPClient ftpClient) {

Mapmap = new HashMap();

try {

ftpClient.changeWorkingDirectory(dir);

FTPFile[] fs = ftpClient.listFiles();

//判断本地存放文件的目录是否已存在,不存在新建目录

File vfile = new File("xx");

if (!vfile.exists()) {

vfile.mkdirs();

}

int fileLength = fs.length;

if (fileLength > 0) {

for (FTPFile file : fs) {

Date date = new Date();

if (XString.equals(file.getName(), getfilename())) {

Logger.info("将要下载的文件名:" + getfilename());

OutputStream is = new FileOutputStream("xx/"

+ getfilename());

Boolean issuccess = ftpClient.retrieveFile(

getfilename(), is);

is.close();

}

}

} else {

map.put("success", false);

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

转载地址:http://gmlyo.baihongyu.com/

你可能感兴趣的文章
python数据分析及展示(二)
查看>>
VS2008设置快捷键Ctrl+W关闭当前打开的文本编辑器窗口
查看>>
详解MySQL数据类型
查看>>
2018网易在线笔试题
查看>>
【laravel5.4】重定向带参数
查看>>
PHP array_walk() 函数
查看>>
java基础-数组的折半查找原理
查看>>
mybatis标签之——<trim>
查看>>
【laravel5.4】 Composer移除依赖
查看>>
第7章 高级分组
查看>>
常见错误及细小知识点锦集
查看>>
【多线程】将大批量数据插入多张表,怎么知道多张表都插成功了
查看>>
SDOI2018:原题识别
查看>>
opencv中图像伪彩色处理(C++ / Python)
查看>>
点击按钮,删除数组-对象中的数据
查看>>
Android修改init.rc和init.xx.rc文件【转】
查看>>
SQL优化|Java面试题
查看>>
026 UI调试
查看>>
JSOUP 超时分析与处理
查看>>
[20170713] 无法访问SQL Server
查看>>