从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 ...
随机推荐
- 【CUDA 基础】4.4 核函数可达到的带宽
title: [CUDA 基础]4.4 核函数可达到的带宽 categories: - CUDA - Freshman tags: - 带宽 - 吞吐量 - 矩阵转置 toc: true date: ...
- 记一次 用 ssh 反向代理解决的远程操作效率问题
公司在异地有一个项目,项目在内网有一个linux 集群开发人员通过 xshell 进行操作,但是开发过程中还需要公司开发人员进行远程操作,原来采用的方案是向日葵,需求能实现但是限于网络环境向日葵实在是 ...
- Navicat Premium 12破解版激活(全新注册机)
使用打包下载就可以了 打包下载:(注册机有5.0和5.1用哪个看心情,我用的5.1) 连接:https://pan.baidu.com/s/1ARjFa2vEYxe9sljbrZR8fQ 提取码:lx ...
- AT3576 Popping Balls
AT3576 Popping Balls 好题!一种以前没怎么见过的思路! %%ywy 以什么方式,什么位置统计本质不同的方案,才能不重不漏是处理所有计数问题的主心骨. 本题难以容斥.难以DP. 所以 ...
- 20191121-5 Scrum立会报告+燃尽图 02
此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/10066 一.小组情况 组长:贺敬文组员:彭思雨 王志文 位军营 徐丽君队名 ...
- git与github建立仓库连接步骤(纯小白教程)
一.先对git 进行用户设置 首先你得在网上下载git软件并且安装,一路默认安装就好了,然后就可以开始本地仓库的建立了.打开你安装好的git, 在开始菜单里面找到git文件夹里面的git bash端 ...
- JWT加密解密
如何保证WebAPI的安全?1.JWT加密解密.token2.使用https传输协议.3.把用户所有请求的参数信息加上一个只有服务器端知道的secret,做个散列运算,然后到了服务器端,服务器端也做一 ...
- antd源码分析之——栅格(Grid)
官方文档 https://ant.design/components/grid-cn/ 目录 一.antd中的Grid 代码目录 1.整体思路 2.less文件结构图(♦♦♦重要) 3.less实现逻 ...
- [go]etcd使用
// 连接etcd import ( "github.com/coreos/etcd/clientv3" "github.com/coreos/etcd/mvcc/mvc ...
- 关闭tslint
只需要在tslint.config里配置一行 "defaultSeverity": "none",