A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张青峰 黑马帝   /  2012-2-4 00:50  /  2067 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

以下程序是一个输出剪贴板中文本内容的程序,有志之士一起讨论下:

import java.awt.*;
import java.awt.datatransfer.*;
import java.io.*;
public class Jiantieban{

public static void main(String[] args){
       
Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);

try { if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor))
      {         
               String a = (String) t.getTransferData(DataFlavor.stringFlavor);
               System.out.println(a);
            
       }

} catch (UnsupportedFlavorException ex)
   {

    ex.printStackTrace();

   } catch (IOException ex)
      {
    ex.printStackTrace();
      }
}
}

评分

参与人数 1技术分 +1 收起 理由
admin + 1 学习了

查看全部评分

2 个回复

倒序浏览
程序可以呀。
t == null 时,可以输出“none",就是剪贴板无内容。
回复 使用道具 举报
本帖最后由 周吉明 于 2012-2-4 09:27 编辑

我给加了点代码,小小地扩展了功能:把剪贴板中的内容存到jiantieban.txt文件中。
我用的RandomAccessFile
用缓冲区+输出流也行。
  1. package demo;

  2. import java.awt.*;
  3. import java.awt.datatransfer.*;
  4. import java.io.*;
  5. public class Jiantieban{

  6. public static void main(String[] args){
  7.         
  8.                 Transferable t =
  9.                                 Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);

  10.                 try {
  11.                         if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
  12.                                 String a = (String) t.getTransferData(DataFlavor.stringFlavor);
  13.                                 System.out.println(a);
  14.                                
  15.                                 //加点内容:把剪贴板中的内容存到jiantieban.txt文件中
  16.                                 RandomAccessFile raf = new RandomAccessFile("C:\\jiantieban.txt","rw");
  17.                                 raf.write(a.getBytes());
  18.                                 raf.close();

  19.                         }

  20.                 } catch (UnsupportedFlavorException ex) {

  21.                         ex.printStackTrace();

  22.                 } catch (IOException ex) {
  23.                         ex.printStackTrace();
  24.                 }
  25.         }
  26. }
复制代码

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马