Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java读取系统剪贴板数据_Java_Clipboard - Fatal编程技术网

用java读取系统剪贴板数据

用java读取系统剪贴板数据,java,clipboard,Java,Clipboard,我想从系统剪贴板读取数据。我可以使用下面的代码从剪贴板中获取复制的文本。但是,如果我复制了多个文件或文件夹,该如何获取 代码 Clipboard c=Toolkit.getDefaultToolkit().getSystemClipboard(); try { System.out.println(c.getData(DataFlavor.stringFlavor)); } catch (Exception ex) { System.out.println(ex); }

我想从系统剪贴板读取数据。我可以使用下面的代码从剪贴板中获取复制的文本。但是,如果我复制了多个文件或文件夹,该如何获取

代码

Clipboard c=Toolkit.getDefaultToolkit().getSystemClipboard();
try {
     System.out.println(c.getData(DataFlavor.stringFlavor));
} catch (Exception ex) {
     System.out.println(ex);
} 
如果剪贴板中有复制文件列表,同样的代码显示异常

例外情况

java.awt.datatransfer.UnsupportedFlavorException: Unicode String

如何从剪贴板获取并打印复制的文件路径及其名称?

您要查找的是:
c.getData(DataFlavor.javaFileListFlavor)
而不是使用
DataFlavor.stringFlavor
您应该使用
DataFlavor.javaFileListFlavor

这将返回java.util.List,其中包含所选文件的列表。 确保正确铸造:

List fileList = (List)c.getData(DataFlavor.javaFileListFlavor)

不管是谁,谢谢你。现在也可以发表评论了:)我仍然无法对问题/答案进行投票,还需要一次投票:(谢谢你的回答+1谢谢你的回答+1