java 判断ftp文件是否存在_java如何检验ftp服务器中指定文件是否存在
详细内容
项目工作中,需要检验ftp服务器中指定文件是否存在,在网上查阅了相关资料,可以通过ftpClient类进行实现。
免费学习视频教程分享:java课程
具体实现代码:import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.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();
ftp.completePendingCommand();
}
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服务器中指定文件是否存在相关推荐
- java 判断单元格为空_java – 如何在Apache POI中获取Excel空单元格值?
我有一个巨大的excel文件与吨的列,看起来像这样: – Column1 Column2 Column3 Column4 Column5 abc def ghi mno pqr ...... 这是我写 ...
- java ftp文件大小_java如何获得ftp服务器上指定文件的大小
我想获得ftp服务器上指定文件的大小 以及下载过程中文件的已完成下载的大小 求教 这个是我写的方法 code:: public static boolean downLoadFtp(String ft ...
- Java 判断密码是否是大小写字母、数字、特殊字符中的至少三种
Java 判断密码是否是大小写字母.数字.特殊字符中的至少三种public class CheckPassword {//数字public static final String REG_NUMBER ...
- ftp服务器中更改文件路径,ftp服务器中更改文件路径
ftp服务器中更改文件路径 内容精选 换一换 文件作用:可以关闭/打开监听端口.指定监听端口.指定监听IP等.文件路径:在运行环境上,在~/ide_daemon目录下查看ide_daemon.cfg配 ...
- ftpclient查看服务器文件,使用Apache FtpClient在FTP服务器中计算文件校验和
我正在使用Apache Commons Net的FtpClient将视频上传到FTP服务器. 要检查文件是否确实已成功传输,我想计算远程文件的校验和,但是很遗憾,我发现没有可以使用的相关API. 我的 ...
- 新建一个文件夹服务器,云服务器中新建文件夹命令
云服务器中新建文件夹命令 内容精选 换一换 部署提供可视化.一键式部署服务,支持并行部署和流水线无缝集成,实现部署环境标准化和部署过程自动化.本节通过以下五步介绍如何使用部署服务将项目代码部署到云主机 ...
- 服务器文件权限在哪里,服务器中的文件权限设置在哪里
服务器中的文件权限设置在哪里 内容精选 换一换 对象存储服务OBS是华为云提供的稳定.安全.高效.易用的云存储服务,具备标准Restful API接口,可存储任意数量和形式的非结构化数据.弹性文件服务 ...
- 服务器新建文件命令,云服务器中新建文件夹命令
云服务器中新建文件夹命令 内容精选 换一换 使用mount命令挂载文件系统到云服务器,云服务器提示access denied,挂载失败.原因1:文件系统已被删除.原因2:执行挂载命令的云服务器和被挂载 ...
- linux防止文件被复制,技术|如何在 Linux 系统中防止文件和目录被意外的删除或修改...
有时,我会不小心的按下 SHIFT+DELETE来删除我的文件数据.是的,我是个笨蛋,没有再次确认下我实际准备要删除的东西.而且我太笨或者说太懒,没有备份我的文件数据.结果呢?数据丢失了!在一瞬间就丢 ...
最新文章
- 「AI初识境」激活函数:从人工设计到自动搜索
- JZOJ 5660. 【HNOI2018D2T3】道路
- 页面加载完后立刻执行JS的两种方法
- Linux下sync命令
- oracle 11.2 安装asm,oracle11r2安装asm+rac配置步骤.doc
- C++ 设置线程名字
- 突发! 重庆全面封杀P2P!下一个会是谁?
- Java反射机制demo(五)—获得并调用一个类中的方法
- 网盘用户分享独播剧链接 百度未及时封禁一审被判赔偿百万余元
- python面向对象大段代码_python粗谈面向对象(一)
- 【深度优先搜索】计蒜客:踏青
- 海湾监控计算机,海湾GST-DH9300电气火灾监控图形显示系统软件
- 安装cudnn时, library和deb模式的区别
- 怎么成为一名Java架构师 都需要掌握哪些技术
- 托物言志--在心为志,发言为诗。
- 对“努力就能成功”的一点思考
- JGG | 中科院微生物研究所王军团队发现肠系膜淋巴系统可能为肠-肝轴第二通路...
- 售价6815万元,95后加密艺术家推出“Dream Chaser”NFT系列作品
- Seata遇到的问题
- FTP协议(文件传输协议)
热门文章
- 2021 46届icpc 南京
- TDH中的Workflow
- 富途网络科技测试笔试题
- 芯片验证漫游指南_博通Wi-Fi芯片被曝安全漏洞,超10亿台终端或受影响,苹果、谷歌、小米、华为等大厂在列...
- Elasticsearch-2.4.3的单节点安装(多种方式图文详解)
- 区块链为什么这么火?又是一次不可错过的商机?
- 使用RDO Packstack在CentOS 8上安装OpenStack Victoria
- vue 数字日期时钟
- c语言中如何求双胞胎素数,征求好的算法:输出十万以内的双胞胎素数
- android 设置空动画,Android WebView 空白等待时加载动画