您可以在系统剪贴板而不是目录中创建文件吗?

Can you create a file on the system clipboard but not in a directory?

当用户单击按钮时,我想生成文件并将其添加到系统剪贴板。我已经能够做到这一点,但是当文件被添加到系统剪贴板时,它也会在项目文件夹中生成文件(我使用的是 Eclipse)。我可以直接把它放在系统剪贴板上而不让它显示在目录中吗?

当我创建文件时,这里是我使用的代码:

File file = new File("file.txt");

应该"file.txt"替换为系统剪贴板的路径吗?还是不可能?

        StringSelection sel = new StringSelection(<insert string here>);
        Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
        clip.setContents(sel, sel);

您可以查看此字符串选择http://docs.oracle.com/javase/8/docs/api/java/awt/datatransfer/StringSelection.html

不要在项目路径中创建文件。您知道当您使用以下语句创建文件时:

File file = new File("file.txt");

它正在您代码的 class 文件附近创建。

只需使用 class FilecreateTempFile 静态方法创建一个临时文件 :

try {
        File f = File.createTempFile("file", ".txt");
        FileWriter wr = new FileWriter(f);
        wr.write("This is a Test!");
        wr.close();
        // Add it to clipboard here 
    } catch (IOException e) {
        e.printStackTrace();
    }

祝你好运