我用NetBeans平台在Java中制作了一个桌面应用程序。在我的应用程序中,我想提供文件或文件夹的单独复制粘贴和剪切粘贴选项。
那么我该怎么做呢?我尝试了Files.copy(new File("D:\\Pndat").toPath(),new File("D:\\212").toPath(), REPLACE_EXISTING);
。但是我没有得到精确的输出。
如果有其他选项,请建议我。
我用NetBeans平台在Java中制作了一个桌面应用程序。在我的应用程序中,我想提供文件或文件夹的单独复制粘贴和剪切粘贴选项。
那么我该怎么做呢?我尝试了Files.copy(new File("D:\\Pndat").toPath(),new File("D:\\212").toPath(), REPLACE_EXISTING);
。但是我没有得到精确的输出。
如果有其他选项,请建议我。
renameTo()
:File source = new File("////////Source path");
File destination = new File("//////////destination path");
if (!destination.exists()) {
source.renameTo(destination);
}
如果需要“复制粘贴”,您需要读取输入和输出流。
使用apache io中的FileUtils,执行FileUtils.copyDirectory(sourceDir, destDir);
即可复制目录。
您还可以进行以下文件操作:
package com.example.charles.clipboard;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.ClipboardOwner;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
public class JavaToSystemClipboard {
public static void main(final String[] args) throws Exception {
final File fileOut = new File("someFileThatExists");
putFileToSystemClipboard(fileOut);
}
public static void putFileToSystemClipboard(final File fileOut) throws Exception {
final Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
final ClipboardOwner clipboardOwner = null;
final Transferable transferable = new Transferable() {
public boolean isDataFlavorSupported(final DataFlavor flavor) {
return false;
}
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] { DataFlavor.javaFileListFlavor, DataFlavor.stringFlavor };
}
public Object getTransferData(final DataFlavor flavor) {
if (flavor.equals(DataFlavor.javaFileListFlavor)) {
final List<String> list = new ArrayList<>();
list.add(fileOut.getAbsolutePath());
return list;
}
if (flavor.equals(DataFlavor.stringFlavor)) {
return fileOut.getAbsolutePath();
}
return null;
}
};
clipboard.setContents(transferable, clipboardOwner);
}
}
你可以使用FileOutputStream和FileInputStream自己编写代码,或者使用Apache Camel。