如何正确处理文件 copy/cut 并粘贴到 javafx 中?

How do I properly handle file copy/cut & paste in javafx?

我正在开发一个程序,我想在其中添加复制粘贴(或剪切粘贴)文件的可能性。我可以创建它,使其只在程序中工作,但如果我可以使用系统范围的剪贴板会更好。但这有一个大问题:粘贴时我不知道文件是从系统资源管理器复制还是剪切,我只得到文件位置。

我正在使用 Java 和 javafx 剪贴板。一些示例代码:

Clipboard clipboard = Clipboard.getSystemClipboard();
List<File> files = clipboard.getFiles();

// destDir is a File, the target directory.
for (File oldFile : files) {
    if (oldFile.isDirectory()) {
        FileUtils.copyDirectoryToDirectory(oldFile, destDir);
    } else {
        FileUtils.copyFileToDirectory(oldFile, destDir);
    }
}

这里我只是复制文件,但是我如何知道何时使用 FileUtils.copyDirectoryToDirectory 以及何时使用 FileUtils.moveDirectoryToDirectory(又名复制或剪切)?

谢谢,
卢卡

事实证明, ,这只有在使用拖放板进行拖放时才有可能。剪贴板没有这样的功能。