我使用這個代碼在Java Swing應用程序將文件複製到剪貼板:如何在Java中將文件剪切到剪貼板?
final List<File> files = new ArrayList<File>();
// ... code to fill list omitted ... //
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(
new Transferable() {
@Override
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] { DataFlavor.javaFileListFlavor };
}
@Override
public boolean isDataFlavorSupported(DataFlavor flavor) {
return DataFlavor.javaFileListFlavor.equals(flavor);
}
@Override
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
return files;
}
}, null
);
它的工作原理,在這我可以去到Windows資源管理器和Ctrl + V,並將文件轉起來(希望它的工作原理在其他操作系統中,雖然未經測試)。我想實施cut也不過我不知道如何讓系統知道這就是操作的內容,或者如何獲得每個成功複製文件的反饋,以便我可以從原始位置刪除它手動。
如果這不是不可能的,我應該如何處理這個問題的任何建議?我希望能夠在應用程序中刪除&粘貼(單獨與OS Explorer交換文件)。
我不認爲削減是可能在Java中呢。 – rjdkolb
噢,除了Java程序在用戶粘貼文件之前不能退出這個事實之外,代碼在Kubuntu linux(KDE)中很有效。在這裏閱讀更多:http://en.wikipedia.org/wiki/X_Window_selection – rjdkolb