网站开发进度计划表,如何做超市的网站,html5网站建设企业论文,做网站系统的文章目录 一、原始需求二、maven依赖三、核心代码四、运行结果 一、原始需求
需要遍历文件目录及其子目录#xff0c;找出包含中文字符的文件名#xff0c;将中文字符去除。
二、maven依赖
pom.xml dependencygroupIdorg.apache.commons/groupId找出包含中文字符的文件名将中文字符去除。
二、maven依赖
pom.xml dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-lang3/artifactIdversion3.10/version/dependencydependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.5/version/dependency!--Test--dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-api/artifactIdversion5.5.2/versionscopetest/scope/dependency三、核心代码
注意处理
中文路径如E:/test/a/测试/b全中文文件(如E:/test/a/测试文本.txt)无后缀文件(如E:/test/a/b/测试文件)
import java.io.File;
import java.util.List;
import java.util.stream.Collectors;import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.RegExUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.junit.jupiter.api.Test;import lombok.extern.slf4j.Slf4j;Slf4j
public class FileTest
{/*** 中文正则*/private String REGEX_CHINESE [\u4e00-\u9fa5];/*** 移除中文文件名*/Testpublic void removeChineseTest(){File dir new File(E:\\test);ListFile files FileUtils.listFiles(dir, null, true).stream().filter(f - f.isFile()).collect(Collectors.toList());files.stream().forEach(file - {String srcName file.getName();String destName RegExUtils.removePattern(srcName, REGEX_CHINESE);if (!StringUtils.equals(srcName, destName)){// 处理全中文和无后缀文件if (StringUtils.startsWith(destName, .) || StringUtils.isBlank(destName)){destName DateFormatUtils.format(System.currentTimeMillis(), yyyyMMdd) destName;}// 文件前后缀String prefix StringUtils.substringBeforeLast(destName, .);String suffix StringUtils.substring(destName, prefix.length());// 处理重名int index 1;File destFile new File(file.getParent() File.separator destName);while (destFile.exists()){destName String.format(%s_%s%s, prefix, index, suffix);destFile new File(file.getParent() File.separator destName);}Boolean result file.renameTo(destFile);log.info({} --- {}, result: {}, file.getAbsolutePath(), destFile.getAbsolutePath(), result);}});}
}四、运行结果
2024-03-15 19:13:37.983 [main] INFO com.fly.files.FileTest - E:\test\a\b\_内容20230676190031.jpg --- E:\test\a\b\_20230676190031.jpg, result: true
2024-03-15 19:13:37.986 [main] INFO com.fly.files.FileTest - E:\test\a\文件_20230676190035.jpg --- E:\test\a\_20230676190035.jpg, result: true
2024-03-15 19:13:37.987 [main] INFO com.fly.files.FileTest - E:\test\中文_20230676154641.jpg --- E:\test\_20230676154641.jpg, result: true
2024-03-15 19:13:37.988 [main] INFO com.fly.files.FileTest - E:\test\哈哈_20230676154717.png --- E:\test\_20230676154717.png, result: true
2024-03-15 19:13:37.988 [main] INFO com.fly.files.FileTest - E:\test\嗯嗯_20230676190039.jpg --- E:\test\_20230676190039.jpg, result: true
2024-03-15 19:13:37.989 [main] INFO com.fly.files.FileTest - E:\test\测试_20230676154623.jpg --- E:\test\_20230676154623.jpg, result: true
2024-03-15 19:13:37.989 [main] INFO com.fly.files.FileTest - E:\test\维修_20230676155003.jpg --- E:\test\_20230676155003.jpg, result: true有任何问题和建议都可以向我提问讨论,大家一起进步谢谢!
-over-