+\r
+ private static Path findFreshFileName(Path root, String fileName) throws IOException {\r
+ int ending = fileName.lastIndexOf('.');\r
+ String glob = fileName;\r
+ String suffix = "";\r
+ if (ending > -1) {\r
+ glob = fileName.substring(0, ending);\r
+ suffix = fileName.substring(ending);\r
+ }\r
+ int i = 0;\r
+ try (DirectoryStream<Path> stream = Files.newDirectoryStream(root, glob)) {\r
+ Iterator<Path> iter = stream.iterator();\r
+ while (iter.hasNext()) {\r
+ iter.next();\r
+ i++;\r
+ }\r
+ }\r
+ String newFileName = glob + "_" + i + suffix;\r
+ return root.resolve(newFileName);\r
+ }\r
+\r