具体实现如下:
private String fileReleaseName;//文件最终名字
private String SD_FOLDER;//文件夹路径
/**
*传入文件默认名
**/
private void setFileReleaseNames(String mFileName) {
File f = new File(SD_FOLDER);
if (f.exists()) {//判断路径是否存在
File[] files = f.listFiles();
HashSet<String> hashSet = new HashSet<>();
for (File file : files) {
if (file.isFile()) {
String name = file.getName();
hashSet.add(name);
}
}
int a = 1;
while (true) {
if (a != 1) {
String[] split = mFileName.split("\\.");
mFileName = split[0] + "(" + a + ")." + split[1];
}
if (!hashSet.contains(mFileName)) {
fileReleaseName = mFileName;
break;
} else {
a++;
}
}
}
}
效果图: