是否有可能在剪贴板复制的内容是否使用awt.Toolkit和剪贴板MP3文件在java中知道 [英] Is it possible to know whether the copied content in clipboard is mp3 file using awt.Toolkit and Clipboard in java

查看:526
本文介绍了是否有可能在剪贴板复制的内容是否使用awt.Toolkit和剪贴板MP3文件在java中知道的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图写一个code在哪的背景的和的显示器的用于复制的 .MP3 文件的或的包含文件夹的一个 .MP3 文件

  {            剪贴板CB = Toolkit.getDefaultToolkit()getSystemClipboard()。        如果(cb.isDataFlavorAvailable(DataFlavor.javaFileListFlavor))
         {
               尝试{
                字符串名称=+ cb.getData(DataFlavor.javaFileListFlavor);
             布尔发现= FALSE;
                 如果(name.toLowerCase()的endsWith(MP3]))
                     {
                                的System.out.println(是MP3);
                                发现= TRUE;
                             }
                 如果(!找到)
               {
                        的System.out.println(是不是MP3);
                   }                    }           赶上(UnsupportedFlavorException前)
             {
                ex.printStackTrace();
                 }
           赶上(IOException异常前)
             {
                ex.printStackTrace();
                 }
         }    }


解决方案

基本上,是的。您需要检查剪贴板的内容,看它是否支持 DataFlavor.javaFileListFlavor 的DataFlavor 。如果是这样,你需要遍历的内容(这是的java.util.List 的文件 S)和使内容的确定。

以下内容仅会检查文件是否 .MP3 文件(通过检查扩展名),但它不会是很难检查 isDirectory ,做目录的递归检查...

 剪贴板CB = Toolkit.getDefaultToolkit()getSystemClipboard();
如果(cb.isDataFlavorAvailable(DataFlavor.javaFileListFlavor)){
    尝试{
        列表文件=(列表)cb.getData(DataFlavor.javaFileListFlavor);
        布尔发现= FALSE;
        对于(对象o:文件){
            如果(邻的instanceof文件){
                文件F =(文件)O;
                如果(f.getName()。与toLowerCase()。的endsWith(MP3)){
                    的System.out.println(我HAZ MP3);
                    发现= TRUE;
                }
            }
        }
        如果(!找到){
            的System.out.println(我诺茨HAZ MP3);
        }
    }赶上(UnsupportedFlavorException前){
        ex.printStackTrace();
    }赶上(IOException异常前){
        ex.printStackTrace();
    }
}

I am trying to write a code which runs at background and monitors the copy actions for copying a .mp3 file or a folder containing a .mp3 file

{

            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();
                 }
         }

    }

解决方案

Basically, yes. You need to check the Clipboard contents to see if it supports the DataFlavor.javaFileListFlavor DataFlavor. If it does, you need to iterate over the contents (which is java.util.List of Files) and make a determination of the content.

The following only checks to see if the files are .mp3 files (by checking the name extension), but it wouldn't be hard to check for isDirectory and do a recursive check of the directory...

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();
    }
}

这篇关于是否有可能在剪贴板复制的内容是否使用awt.Toolkit和剪贴板MP3文件在java中知道的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆