之前我找了这方面的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();
}
}
}
运行记过,我就测试一下复制文件的效果,效果图如下,能够获取到路径的.
如果你是一次复制多个文件,那也是在这个数组里.如果你想获得复制的是那个文件,自己心里有数了吧.
其他的文字复制,和图片复制,效果都是一样的.
但是我现在想知道,我的文件粘贴的时候的文件的路径以及名字….
有哪位大神做出来了的,可以留言,相互学习哈.
谢了.