【问题标题】:Read system Clipboard data in java在java中读取系统剪贴板数据
【发布时间】:2014-11-12 04:28:06
【问题描述】:

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

代码

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

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

【问题讨论】:

    标签: java clipboard


    【解决方案1】:

    您应该使用DataFlavor.javaFileListFlavor,而不是使用DataFlavor.stringFlavor

    这将返回 java.util.List,其中包含您选择的文件列表。 确保正确投射:

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

    【讨论】:

    • 感谢您的回答 +1
    【解决方案2】:

    您要找的是:c.getData(DataFlavor.javaFileListFlavor)

    【讨论】:

    • 感谢为我 +1 的人。现在也可以发布 cmets 了 :)
    • 我仍然无法为问题/答案投票,需要再投票:(
    • 感谢您的回答 +1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    相关资源
    最近更新 更多