大神留步!一段代码引发的悬案至今无解
2019-06-14 01:55
1226 查看
(Creative Commons)
背景
运营小姐姐小哥哥万众期待的智能系统终于经过在本地严格测试来到了测试环境,一个大幅提高生产力的时代即将开启。
BUT在这美好的时刻,在经过本地开发完美的的测试和验证,来到测试环境,结果却不那么美好了:与预期的结果有了偏差。
一套庞大的系统,经过各阶段的测试、排查、log定位,最终锁定一段最不起眼的代码身上,一段非常简单的逻辑。
目前代码
[code]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上)系统上 总是出现重命名后文件变少的问题,而且对于同一目录变少的数量每次运行并不固定。
期待大神?
期待大神们留言给出指点和正确解答,笔者会将正确解答更新到博文中一并感谢,为后来读者指点迷津
....................................................................................................................................................
更多java刨根问题的文章,敬请关注
相关文章推荐
- 一段奇葩Javascript代码引发的思考
- java学习-【转】如何用Java编写一段代码引发内存泄露
- 一段代码,引发的思考。
- 一段代码引发的杀毒软件血战
- 一段代码引发的血案
- 一段代码引发的杀毒软件血战
- 如何用Java编写一段代码引发内存泄露
- 如何用Java编写一段代码引发内存泄露
- 一段代码引发的血案
- 一段代码引发的思考
- 怎样用Java编写一段代码引发内存泄露
- 一段代码引发的有趣问题
- 如何用Java编写一段代码引发内存泄露
- 哪位大神 能将asp的一段代码逻辑 用java语言实现!!!我QQ“:596963475 求大神!!!
- javascript 一段代码引发的思考第1/2页
- js构造函数原型(prototype)问题分析(一段烂代码引发的博客)
- 看到一段大神的代码 condition1&condtion2&doSomething
- 如何用Java编写一段代码引发内存泄露
- 如何用Java编写一段代码引发内存泄露
- 如何用Java编写一段代码引发内存泄露