FTPClient删除linux文件夹,使用ftp读取文件夹中的多个文件,并删除
public classFTPUtils {private static final Logger LOG = LoggerFactory.getLogger(FTPUtils.class);/*** 获取FTPClient对象
*
*@paramftpHost FTP主机服务器
*@paramftpPassword FTP 登录密码
*@paramftpUserName FTP登录用户名
*@paramftpPort FTP端口 默认为21
*@return
*/
private staticFTPClient getFTPClient(String ftpHost, String ftpPassword,
String ftpUserName,int ftpPort) throwsIOException {
FTPClient ftpClient= null;
ftpClient= newFTPClient();
ftpClient.connect(ftpHost, ftpPort);//连接FTP服务器
ftpClient.login(ftpUserName, ftpPassword);//登陆FTP服务器
if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {
LOG.info("未连接到FTP,用户名或密码错误。");
ftpClient.disconnect();
}else{
LOG.info("FTP连接成功。");
}returnftpClient;
}/*** 去 服务器的FTP路径下上读取文件
*
*@paramftpPath
*@param*@return
*/
public static ListreadConfigFileForFTP(String ftpPath, String ftpHost, String ftpPassword,
String ftpUserName,intftpPort) {
InputStream in;
FTPClient ftpClient= null;try{
ftpClient=getFTPClient(ftpHost, ftpPassword, ftpUserName, ftpPort);
List list = new ArrayList<>();
LOG.info("开始读取绝对路径" + ftpPath + "文件!");try{
ftpClient.setControlEncoding("UTF-8"); //中文支持
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.enterLocalPassiveMode();
ftpClient.changeWorkingDirectory(ftpPath);
FTPFile[] ftpFiles=ftpClient.listFiles(ftpPath);for(FTPFile file : ftpFiles) {
String name=file.getName();
in= ftpClient.retrieveFileStream(new String(name.getBytes("UTF-8"), "ISO-8859-1"));if (in != null) {
StringBuffer resultBuffer= newStringBuffer();
BufferedReader br= new BufferedReader(newInputStreamReader(in));
String data;try{while ((data = br.readLine()) != null) {
resultBuffer.append(data);
}
String string=resultBuffer.toString();
JSONArray jsonArray=JSONArray.parseArray(string);
list.add(jsonArray);
in.close();boolean flag =ftpClient.deleteFile(name);if(flag) {
System.out.println("删除文件成功");
}
ftpClient.completePendingCommand();
}catch(IOException e) {
LOG.error("文件读取错误。");
e.printStackTrace();
}
}else{
LOG.error("in为空,不能读取。");
}
}
}catch(FileNotFoundException e) {
LOG.error("没有找到" + ftpPath + "文件");
e.printStackTrace();
}catch(SocketException e) {
LOG.error("连接FTP失败.");
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
LOG.error("文件读取错误。");
}returnlist;
}catch(SocketException e) {
LOG.info("FTP的IP地址可能错误,请正确配置。");
}catch(IOException e) {
LOG.info("FTP的端口错误,请正确配置。");
}return null;
}/*** * 删除文件 *
*
*@parampathname FTP服务器保存目录 *
*@paramfilename 要删除的文件名称 *
*@return
*/
private static voiddeleteFile(String pathname, String filename, FTPClient ftpClient) {try{
System.out.println("开始删除文件");//切换FTP目录
ftpClient.changeWorkingDirectory(pathname);boolean flag =ftpClient.deleteFile(filename);
ftpClient.logout();if(flag) {
System.out.println("删除文件成功");
}
}catch(Exception e) {
System.out.println("删除文件失败");
e.printStackTrace();
}finally{if(ftpClient.isConnected()) {try{
ftpClient.disconnect();
}catch(IOException e) {
e.printStackTrace();
}
}
}
}
}
FTPClient删除linux文件夹,使用ftp读取文件夹中的多个文件,并删除相关推荐
- python读文件每一行-Python文件内容按行读取到列表中
Python文件内容按行读取到列表中 示例文件内容如下: Hello World Python 通常来讲,我们如果只是迭代文件对象每一行,并做一些处理,是不需要将文件对象转成列表的,因为文件对象本身可 ...
- 服务器ftp文件不能共享文件夹权限,ftp服务器共享文件夹权限设置
ftp服务器共享文件夹权限设置 内容精选 换一换 已成功登录Java性能分析.待安装分析辅助软件的服务器已开启sshd.Java性能分析优先选用非交互shell(non-interactive she ...
- W ndoWs文件夹窗口,如何在本地网络中访问-Synology-NAS-上的文件-(Wndows).pdf
如何在本地网络中访问-Synology-NAS-上的文件-(Wndows) 如何在本地网络中访问 Synology NAS 上的文件 (Windows) 概述 Synology NAS 经过专门设计, ...
- python从文件中读取数据_Python3 中把txt数据文件读入到矩阵中的方法
下面为大家分享一篇Python3 中把txt数据文件读入到矩阵中的方法,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 1.实例程序: ''' 数据文件:2.txt内容:(以空格分开每个数据) ...
- android 侧滑删除功能,200行代码让你在Android中完美实现iOS版侧滑删除效果
使用几个月的IOS之后,发现IOS中侧滑删除俺就 大家好,自己开始学习Android已经差不多半年了吧,前前后后看了不少的博客获益匪浅.渐渐的随着技术的提升,慢慢感觉网上其它的一些功能的实现又不是那么 ...
- bugku 神秘的文件(问题:在选定的档案中没有匹配的文件)
解压缩包,压缩包有两个文件,一个是加密的压缩包,另一个是图片并且这个图片存在于flag.zip压缩包里. 这时我们可以想到明文攻击,将png图片同样压缩(与加密的文件要同类型)作为秘钥.(推荐用Win ...
- python文件合法模式组合_以下选项中,不是Python文件二进制打开模式的合法组合是...
以下选项中,不是Python文件二进制打开模式的合法组合是 答:\"x+\" 建立良好的谈判气氛主要是在( )阶段 答:开局 the ruling class had long b ...
- 如何查找视频文件 android,如何扫描出android手机中所有的视频文件
不说废话,直接上代码: public static List allVideoList = null;// 视频信息集合 allVideoList = new ArrayList(); getVide ...
- java本地可以发到linux不行,java 使用 ftp 在windows环境下可以正常下载文件,在linux环境下不行...
windows环境下使用 public static void dowmloadFtpWindos(String fileUuid, HttpServletRequest request,HttpSe ...
- Springboot读取jar包中的MANIFEST.MF文件内容
Springboot打包成可执行jar包后,包结构如下所示: 工程编译后的文件都在BOOT-INF/classes目录下,如果需要读取并显示META-INF/MANIFEST.MF文件内容,那么可以用 ...
最新文章
- 集成的分层强化学习,让人工智能在解决智能问题时表现得更聪明
- PHP7 学习笔记(七)如何使用zephir编译一个扩展记录
- Unity游戏暂停之Update与FixedUpdate区别
- android视频播放指定位置,android – 如何在某个特定位置的视图中查看视频?
- Python3 列表的基本操作
- python pandas sqlserver_python学好了还可以用到SSIS上,将Python的能力嫁接到SSIS中
- cbow word2vec 损失_word2vec是如何得到词向量的?
- canvas换图时候会闪烁_Canvas实现图片上标注、缩放、移动和保存历史状态,纯干货(附CSS 3变化公式)...
- python 建筑计算_制图小技巧:巧用Python和ELK瞬间完成总图建筑名称标注
- Linux下update和upgrade的区别
- 鸿蒙有什么好处,鸿蒙系统有什么好处-鸿蒙系统有什么用-鸿蒙系统有什么区别...
- java 文件比对(四)-- 使用 diffutils
- 腾讯云OSS使用指南
- 【人类历史】从食物采集者到食物生产者
- 采用sFlow工具实现流量监控--实验
- 【printf】打印数值、打印二进制、打印十六进制、sprintf
- win10系统对计算机要求,使用win10系统,你需要掌握的5个技巧
- 基于matlab的pcm设计实验报告,基于MATLAB的PCM系统仿真课程设计
- stcoder Splatter Painting 记忆化搜索
- 清华北大2021毕业生就业报告出炉!清华博士0人出国,70%进体制