您可以在系统剪贴板而不是目录中创建文件吗?
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 File
的 createTempFile
静态方法创建一个临时文件 :
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();
}
祝你好运
当用户单击按钮时,我想生成文件并将其添加到系统剪贴板。我已经能够做到这一点,但是当文件被添加到系统剪贴板时,它也会在项目文件夹中生成文件(我使用的是 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 File
的 createTempFile
静态方法创建一个临时文件 :
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();
}
祝你好运