Java获取Windows7系统剪切板中的文件路径、文字、图片信息

来源:互联网 发布:sql经典语句 编辑:程序博客网 时间:2024/05/23 01:57

之前我找了这方面的demo.但是那些代码,都是先将文件通过Java写到剪切板里,然后再通过剪切板获得文件的名字.
很显然,这不是我想要的,于是,我干脆自己来一个吧.
自己试试就出来了.

废话不多说,直接上代码:

//创建剪切板对象Clipboard sysboard=Toolkit.getDefaultToolkit().getSystemClipboard();//获得剪切板的内容,如果没有内容,就返回nullTransferable cliptf=sysboard.getContents(null);if(cliptf!=null){    //如果剪切板的内容是文件    if(cliptf.isDataFlavorSupported(DataFlavor.javaFileListFlavor)){    String path="";        try {        //获得数据            Object o=cliptf.getTransferData(DataFlavor.javaFileListFlavor);            //tostring,转为字符串            path=o.toString();            System.out.println("path=="+o.toString());            } catch (UnsupportedFlavorException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();            }        }//顺便把剪切板里的文字和图片也提取出来//检查文本内容是否为文本内容            if(cliptf.isDataFlavorSupported(DataFlavor.stringFlavor)){                String result="";                try {                    result=(String) cliptf.getTransferData(DataFlavor.stringFlavor);                    System.out.println("文本内容=="+result);                } catch (UnsupportedFlavorException e) {                    e.printStackTrace();                } catch (IOException e) {                    e.printStackTrace();                }            }            //检查文本内容是否为文本内容            if(cliptf.isDataFlavorSupported(DataFlavor.imageFlavor)){                Image image;                try {                    image=(Image) cliptf.getTransferData(DataFlavor.imageFlavor);                } catch (UnsupportedFlavorException e) {                    e.printStackTrace();                } catch (IOException e) {                    e.printStackTrace();                }            }}

运行记过,我就测试一下复制文件的效果,效果图如下,能够获取到路径的.
这里写图片描述

如果你是一次复制多个文件,那也是在这个数组里.如果你想获得复制的是那个文件,自己心里有数了吧.
其他的文字复制,和图片复制,效果都是一样的.
但是我现在想知道,我的文件粘贴的时候的文件的路径以及名字….
有哪位大神做出来了的,可以留言,相互学习哈.
谢了.