概述
背景
运营小姐姐小哥哥万众期待的智能系统终于经过在本地严格测试来到了测试环境,一个大幅提高生产力的时代即将开启。
BUT在这美好的时刻,在经过本地开发完美的的测试和验证,来到测试环境,结果却不那么美好了:与预期的结果有了偏差。
一套庞大的系统,经过各阶段的测试、排查、Log定位,最终锁定一段最不起眼的代码身上,一段非常简单的逻辑。
目前代码
import org.apache.commons.io.FilenameUtils;
import java.util.concurrent.TimeUnit;
import java.time.format.DateTimeFormatter;
import java.time.ZonedDateTime;
import java.io.File;
private static final DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
public static void renameImagesByDirectoryWithTime(String directory) throws IOException, InterruptedException {
try {
File[] files = new File(directory).listFiles();
for (File file : files) {
String name = ZonedDateTime.now().format(df);
TimeUnit.MILLISECONDS.sleep(10);
String extension = FilenameUtils.getExtension(file.getName());
file.renameTo(new File(directory, name + "." + extension));
}
} catch (Exception e) {
throw e;
}
}
期望功能
上述代码要实现逻辑: 传进来一个文件目录,期望将其中的每个文件按照上述格式全部进行重命名。
存在问题
上述代码存在的问题:都是同样的JDK8,在Windows环境表现完全正确, 在Linux(准确说是Cent os 6.5上)系统上 总是出现重命名后文件变少的问题,而且对于同一目录变少的数量每次运行并不固定。
期待您?
期待您留言给出指点和正确解答,笔者会将正确解答更新到博文中一并感谢,为后来读者指点迷津
最后
以上就是外向山水为你收集整理的Linux中重命名失败原因的全部内容,希望文章能够帮你解决Linux中重命名失败原因所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复