当您将文件复制并粘贴到同一目录中时,我希望获得与Windows相似的行为。
例如,如果您复制/粘贴名为foo.txt
的文件,则会创建foo Copy.txt
,如果再粘贴一次,则会创建foo Copy(2).txt
,如果您复制/ {粘贴foo Copy.txt
,foo Copy Copy.txt
已创建。
是否有Java实用程序功能可以执行此操作?我查看了File.createTempFile
,但它生成的文件名太长,包含类似UID的子字符串。
答案 0 :(得分:0)
通过将FileChooser与“showSaveDialog”方法结合使用,您将获得所需的结果,因为java正在使用现有文件的操作系统行为。
答案 1 :(得分:0)
有时,您只需要先完成工作,它会让您对API有所了解。然后你可以编写自己的实用程序方法
File original = new File("build.xml");
String path = original.getAbsoluteFile().getParent();
String name = original.getName();
String ext = name.substring(name.indexOf("."));
name = name.substring(0, name.indexOf("."));
name = path + File.separator + name;
int index = 1;
File copy = new File(name + " (" + index + ")" + ext);
while (copy.exists()) {
index++;
copy = new File(name + " (" + index + ")" + ext);
}
System.out.println(copy);