糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > java 判断ftp文件是否存在_java如何检验ftp服务器中指定文件是否存在

java 判断ftp文件是否存在_java如何检验ftp服务器中指定文件是否存在

时间:2018-10-13 10:13:55

相关推荐

java 判断ftp文件是否存在_java如何检验ftp服务器中指定文件是否存在

详细内容

项目工作中,需要检验ftp服务器中指定文件是否存在,在网上查阅了相关资料,可以通过ftpClient类进行实现。

免费学习视频教程分享:java课程

具体实现代码:import .ftp.FTP;

import .ftp.FTPClient;

import .ftp.FTPReply;

/**

* 检验指定路径的文件是否存在ftp服务器中

* @param filePath--指定绝对路径的文件

* @param user--ftp服务器登陆用户名

* @param passward--ftp服务器登陆密码

* @param ip--ftp的IP地址

* @param port--ftp的端口号

* @return

*/

public static boolean isFTPFileExist(String filePath,String user,String passward,String ip,int port){

FTPClient ftp = new FTPClient();

try {

// 连接ftp服务器

ftp.connect(ip, port);

// 登陆

ftp.login(user, passward);

// 检验登陆操作的返回码是否正确

if(!FTPReply.isPositiveCompletion(ftp.getReplyCode())){

ftp.disconnect();

return false;

}

ftp.enterLocalActiveMode();

// 设置文件类型为二进制,与ASCII有区别

ftp.setFileType(FTP.BINARY_FILE_TYPE);

// 设置编码格式

ftp.setControlEncoding("GBK");

// 提取绝对地址的目录以及文件名

filePath = filePath.replace("ftp://"+ip+":"+port+"/", "");

String dir = filePath.substring(0, filePath.lastIndexOf("/"));

String file = filePath.substring(filePath.lastIndexOf("/")+1);

// 进入文件所在目录,注意编码格式,以能够正确识别中文目录

ftp.changeWorkingDirectory(new String(dir.getBytes("GBK"),FTP.DEFAULT_CONTROL_ENCODING));

// 检验文件是否存在

InputStream is = ftp.retrieveFileStream(new String(file.getBytes("GBK"),FTP.DEFAULT_CONTROL_ENCODING));

if(is == null || ftp.getReplyCode() == FTPReply.FILE_UNAVAILABLE){

return false;

}

if(is != null){

is.close();

pletePendingCommand();

}

return true;

} catch (Exception e) {

e.printStackTrace();

}finally{

if(ftp != null){

try {

ftp.disconnect();

} catch (IOException e) {

e.printStackTrace();

}

}

}

return false;

}

相关文章教程推荐:java入门教程

如果觉得《java 判断ftp文件是否存在_java如何检验ftp服务器中指定文件是否存在》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。