当您将文件复制并粘贴到同一目录中时,我希望获得与 Windows 中类似的行为。
例如,如果您复制/粘贴了一个名为 的文件foo.txt
,它将创建foo Copy.txt
,如果您再次粘贴它,它会创建foo Copy(2).txt
,如果您复制/粘贴foo Copy.txt
,foo Copy Copy.txt
则会创建。
是否有执行此操作的 Java 实用程序函数?我看过File.createTempFile
但它生成的文件名太长并且包含类似 UID 的子字符串。
通过将 FileChooser 与“showSaveDialog”方法结合使用,您将获得所需的结果,因为 java 正在使用现有文件的操作系统行为。
有时,您只需要先完成工作,它会让您对 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);