java从剪贴板得到文件路径并复制文件到指定路径,java剪贴板,java从剪贴板得到文件
java从剪贴板得到文件路径并复制文件到指定路径
[Java]代码package cn.outofmemory.studyp1;import java.io.*;import java.awt.*;import java.awt.datatransfer.*;public class VCFileCopy { public static void main(String[] args) { // TODO Auto-generated method stub // // 取得系统剪贴板里可传输的数据构造的Java对象 Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard() .getContents(null); try { if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) { // 因为原系的剪贴板里有多种信息, 如文字, 图片, 文件等 // 先判断开始取得的可传输的数据是不是文字, 如果是, 取得这些文字 String s = (String) t.getTransferData(DataFlavor.stringFlavor); // 同样, 因为Transferable中的DataFlavor是多种类型的, // 所以传入DataFlavor这个参数, 指定要取得哪种类型的Data. System.out.println(s); int bytesum = 0; int byteread = 0; File oldfile = new File(s); try { if (oldfile.exists()) { // 文件存在时 FileInputStream inStream = new FileInputStream(oldfile); // 读入原文件 FileOutputStream fs = new FileOutputStream(new File( "C:\\Program Files\\Microsoft Visual Studio\\MyProjects\\zipzip" , oldfile.getName())); byte[] buffer = new byte[5120]; while ((byteread = inStream.read(buffer)) != -1) { bytesum += byteread; // 字节数 文件大小 System.out.println(bytesum); fs.write(buffer, 0, byteread); } inStream.close(); } } catch (Exception e) { System.out.println("复制单个文件操作出错"); e.printStackTrace(); } } } catch (UnsupportedFlavorException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } }}