当前位置: 首页 > 面试题库 >

是否可以使用java中的awt.Toolkit和Clipboard来了解剪贴板中复制的内容是否为mp3文件

安泰平
2023-03-14
问题内容

我试图写它在运行的代码 背景显示器 的复制拷贝动作 .MP3 文件包含文件夹 一个 .MP3 文件

{

            Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();

        if (cb.isDataFlavorAvailable(DataFlavor.javaFileListFlavor))
         {
               try {
                String name = ""+cb.getData(DataFlavor.javaFileListFlavor);
             boolean found = false;
                 if (name.toLowerCase().endsWith(".mp3]"))
                     {
                                System.out.println("Is MP3");
                                found = true;
                             }


                 if (!found)
               {
                        System.out.println("Is not MP3");
                   }

                    }

           catch(UnsupportedFlavorException ex)
             {
                ex.printStackTrace();
                 }
           catch(IOException ex)
             {
                ex.printStackTrace();
                 }
         }

    }

问题答案:

基本上是。您需要检查Clipboard内容以查看是否支持DataFlavor.javaFileListFlavor
DataFlavor。如果是这样,则需要遍历内容(java.util.ListFile的)并确定内容。

以下仅检查文件是否为.mp3文件(通过检查名称扩展名),但并不难检查isDirectory递归检查目录…

Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
if (cb.isDataFlavorAvailable(DataFlavor.javaFileListFlavor)) {
    try {
        List files = (List) cb.getData(DataFlavor.javaFileListFlavor);
        boolean found = false;
        for (Object o : files) {
            if (o instanceof File) {
                File f = (File) o;
                if (f.getName().toLowerCase().endsWith(".mp3")) {
                    System.out.println("I haz MP3");
                    found = true;
                }
            }
        }
        if (!found) {
            System.out.println("I notz haz MP3");
        }
    } catch (UnsupportedFlavorException ex) {
        ex.printStackTrace();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}


 类似资料:
  • 问题内容: 我已经使用Java系统剪贴板传输文本和图像,但是我想知道它是否可以复制和粘贴文件吗?如果可以,我在哪里可以找到示例代码? 但是我在其中找不到“剪贴板”这个词,而且我也不知道如何使用它。 我用来复制图像的方法如下所示: 如何修改以上代码以传输文件? 问题答案: 本质上是。您需要记住,drag’n’drop API和剪贴板API使用相同的概念a ,将数据包装到s中,因此您可以根据目标系统想

  • 问题内容: 我已经实现了回收卡视图,并想使用按钮单击方法来复制cardView的内容。cardview中有两个文本,我只想复制内容,不同的卡片不同。我怎样才能做到这一点?这是我的Cardview适配器。 v.content.getText()。toString(),无法解析内容。 问题答案: 尝试以下

  • 一、背景 我正在尝试使用Java获取HTML数据风格的剪贴板数据。因此,我将它们从浏览器复制到剪贴板中。然后我使用java。awt。数据传输。剪贴板来获取它们。 这在视窗系统中正常工作。但是在Ubuntu中有一些奇怪的问题。最糟糕的是从火狐浏览器将数据复制到剪贴板中。 复制行为的例子 Java代码: 问题描述 我正在做的是,打开URLhttps://en.wikipedia.org/wiki/Ge

  • Clipboard对象保存同一应用程序的两个进程或两个小部件之间的共享数据。 gtk.Clipboard是gtk.SelectionData类的高级接口。 以下是gtk.Clipboard构造函数的原型 - gtk.Clipboard(display,selction) 这里,display参数对应于要为其创建或检索剪贴板的gtk.gdk.Display对象。 默认情况下,它是标准输出设备。 s

  • 问题内容: 当我尝试使用粘贴到单元格时,我要粘贴的单元格保持空白,但setValueAt()似乎可以正常工作。另外,当我尝试从一个单元格剪切或复制JPopupMenu时,如果要粘贴到另一个单元格,则我的“粘贴”选项将保持禁用状态。我不知道为什么。我的代码如下。 Here’s my code for 问题答案: 根据您的示例代码,并且必须填写空白,它对 我有用… Now, maybe you’d l

  • 问题内容: 我一直在寻找一种为CURL指定cookie数据的方法。我已经找到了一些有关如何从访问的页面保存cookie的解决方案,但这不是我所需要的。我想要的是自己写Cookie的数据,以便CURL使用它。 问题答案: 您确实应该阅读该文档 -其中列出了与您期望的关键字完全相同的文档,并且包含许多有用的信息: -b,-cookie (HTTP)将数据作为cookie传递到HTTP服务器。可能是先前