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

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

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

//创建剪切板对象
Clipboard sysboard=Toolkit.getDefaultToolkit().getSystemClipboard();
//获得剪切板的内容,如果没有内容,就返回null
Transferable 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();
                }
            }



}

运行记过,我就测试一下复制文件的效果,效果图如下,能够获取到路径的.
Java获取Windows7系统剪切板中的文件路径、文字、图片信息_第1张图片

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

你可能感兴趣的:(系统操作,java)