从ftp服务器进行批量下载,处理文件名保存时重名的问题,更改重名文件名方式为给后面加1、2、3等数字,保持后缀不变
公司最近有一个从ftp批量下载文件的需求,但是文件名重复总会报错
没办法,自己下班后写了一个小算法
仿照桶排序的原理,实现了这个小功能,直接上代码:
- String[] test = {"hahaha.txt","wekje.doc","学习.pdf","wekje.doc","学习.pdf",
- "hahaha.txt","学习.pdf","wekje.doc","ewheuhiq.jpg","学习.pdf","Du2Cm_I0Z1x081534·386137_10s.mp4","Du2Cm_I0Z1x081534·386137_10s.mp4"};
- String[] strlist = new String[1];
- int [] times = new int[1];
- times[0] = 1;
- System.out.println("整理前的文件名数组"+Arrays.toString(test));
- for(int i=0;i<test.length;i++){
- int target = 0;
- if(i==0){
- strlist[i] = test[i];
- }else{
- boolean flag = false;
- for(int j=0;j<times.length;j++){
- if(test[i].equals(strlist[j])){
- flag = true;
- target = j;
- break;
- }else{
- continue;
- }
- }
- if(flag){
- String[] spi = test[i].split("\\.");
- StringBuilder sb = new StringBuilder(spi[0]);
- sb.append("(").append(times[target]+"").append(")")
- .append(".").append(spi[1]);
- test[i] = sb.toString();
- times[target] += 1;
- }else{
- strlist = Arrays.copyOf(strlist, strlist.length+1);
- times = Arrays.copyOf(times, times.length+1);
- strlist[strlist.length-1] = test[i];
- times[times.length-1] = 1;
- }
- }
- }
- System.out.println("处理后的文件名数组"+Arrays.toString(test));
从ftp服务器进行批量下载,处理文件名保存时重名的问题,更改重名文件名方式为给后面加1、2、3等数字,保持后缀不变的更多相关文章
- 使用批处理文件在FTP服务器 上传下载文件
1.从ftp服务器根目录文件夹下的文件到指定的文件夹下 格式:ftp -s:[配置文件] [ftp地址] 如:ftp -s:c:\vc\ftpconfig.txt 192.168.1.1 建立一个 ...
- Spring学习---Spring中利用组件实现从FTP服务器上传/下载文件
FtpUtil.java import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcepti ...
- ftp服务器上传下载共享文件
1 windows下搭建ftp服务器 https://blog.csdn.net/qq_34610293/article/details/79210539 搭建好之后浏览器输入 ftp://ip就可以 ...
- C#实体图片下载与批量下载(自动保存功能)
新工作,第一个小任务,制作一个点击下载图片的功能.并提供批量下载操作.图片是字节流的形式,存放在数据库中的. 为了避免直接从数据库中,下载失败,会在本地保存一份. 进行压缩的是SharpZip这个压缩 ...
- Node.js使用ftp连接远程ftp服务器枚举和下载文件示例
示例代码: var Ftp = require('ftp'); var fs = require('fs'); var path = require('path'); // 首先判断参数中是否包含{d ...
- FTP服务器上传工具,FTP服务器上传工具下载!
IIS7服务器管理工具能够作为FTP的客户端,进行FTP的命令操作,可在客户端,下载,安装FTP软件! 同时,它也可以作为VNC的客户端,进行VNC的命令操作!它能够批量连接Windows和Linux ...
- [java] java 实现FTP服务器文件的上传和下载
利用Apache commons-net 实现: package com.xwolf.driver.util; import com.xwolf.driver.exception.RunExcepti ...
- ftp文件上传下载实用命令
连接 >ftp yourhost >user yourusername >password your password 顺利的话连接成功 >dir ;获取remote目录列表 ...
- FTP服务器的搭建与配置
主要来源:http://www.cnblogs.com/helonghl/articles/5533857.html 1.安装FTP服务器: yum install vsftpd -y 2.启动FTP ...
随机推荐
- 了解Springboot加载文件机制
https://blog.csdn.net/u014044812/article/details/84256764(
- HGOI 20191031am 题解
Problem A Divisors 给出$m$个不同的正整数$a_i$,设数论函数 $f(k) = \sum\limits_{i = 1}^{n} [(\sum\limits_{j = 1}^ ...
- 使用ImageProcessor、CodeCarvings.Piczard组件生成缩略图和添加水印
技术栈: 1.ImageProcessor(专业图像处理,不能合成水印,NetCore中有它的升级版ImageSharp目前是预览包) 2.CodeCarvings.Piczard(缩略图,水印都能搞 ...
- shell基础之一
Shell脚本自动化管理系统的必备基础: vim编辑器的熟练使用,SSH终端及“.vimrc”的设置等等需要熟悉. 命令基础:Linux的150个常用命令的熟练使用 Linux的正则表达式以及三剑客( ...
- 1.2 JAVA的String类和StringBuffer类
一.String 1.String概念 String不属于基本类型,String是final修饰的是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了如果要对String修改使用 ...
- nginx部署前端项目
1.在阿里云服务器上安装nginx,推荐使用yum安装 yum install -y nginx // 命令安装 nginx 服务器 2.配置nginx 安装完成后,进入 nginx 配置文件目录 一 ...
- Ubuntu桌面版与服务器版的区别(转)
Ubuntu桌面版vs服务器版 提到安装Linux,Ubuntu可谓是最受欢迎的.为了满足每个人的需求,出现了不少版本或风格的Ubuntu:其中两项便是桌面版与服务器版.只要发布版本号一致,这两者从核 ...
- 自动化测试 | 好用的自动化测试工具Top 10
欲善其事必先利其器,本文从软件测试人员痛点出发,介绍如何先从工具选择上取得优势,在有限的时间内完成工作.经常有人在公众号留言或是后台咨询,做自动化测试用哪个工具好,或是学哪门编程语言好呢? 这个时候总 ...
- LC 275. H-Index II
Given an array of citations sorted in ascending order (each citation is a non-negative integer) of a ...
- ERROR 1292(22007)
ERROR 1292(22007) Table of Contents 1. 1292 1.1. 22007 1 1292 1.1 22007 错误信息 ERROR 1292 (22007): T ...