黑马程序员技术交流社区
标题:
关于输出系统剪贴板中的内容的程序
[打印本页]
作者:
张青峰
时间:
2012-2-4 00:50
标题:
关于输出系统剪贴板中的内容的程序
以下程序是一个输出剪贴板中文本内容的程序,有志之士一起讨论下:
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();
}
}
}
作者:
黄秋
时间:
2012-2-4 01:47
程序可以呀。
t == null 时,可以输出“none",就是剪贴板无内容。
作者:
周吉明
时间:
2012-2-4 09:24
本帖最后由 周吉明 于 2012-2-4 09:27 编辑
我给加了点代码,小小地扩展了功能:把剪贴板中的内容存到jiantieban.txt文件中。
我用的RandomAccessFile
用缓冲区+输出流也行。
package demo;
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);
//加点内容:把剪贴板中的内容存到jiantieban.txt文件中
RandomAccessFile raf = new RandomAccessFile("C:\\jiantieban.txt","rw");
raf.write(a.getBytes());
raf.close();
}
} catch (UnsupportedFlavorException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2