1

当您将文件复制并粘贴到同一目录中时,我希望获得与 Windows 中类似的行为。

例如,如果您复制/粘贴了一个名为 的文件foo.txt,它将创建foo Copy.txt,如果您再次粘贴它,它会创建foo Copy(2).txt,如果您复制/粘贴foo Copy.txtfoo Copy Copy.txt则会创建。

是否有执行此操作的 Java 实用程序函数?我看过File.createTempFile但它生成的文件名太长并且包含类似 UID 的子字符串。

4

2 回答 2

0

通过将 FileChooser 与“showSaveDialog”方法结合使用,您将获得所需的结果,因为 java 正在使用现有文件的操作系统行为。

于 2012-10-19T07:22:09.120 回答
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);
于 2012-10-19T20:27:44.060 回答