Java读取粘贴板内容
- package com.test.jvm.oom.design;
- import java.awt.Image;
- import java.awt.Toolkit;
- import java.awt.datatransfer.Clipboard;
- import java.awt.datatransfer.DataFlavor;
- import java.awt.datatransfer.StringSelection;
- import java.awt.datatransfer.Transferable;
- import java.awt.datatransfer.UnsupportedFlavorException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.OutputStreamWriter;
- import java.io.Reader;
- public class Test {
- /**
- *1. 从剪切板获得文字。
- */
- public static String getSysClipboardText() {
- String ret = "";
- Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
- // 获取剪切板中的内容
- Transferable clipTf = sysClip.getContents(null);
- if (clipTf != null) {
- // 检查内容是否是文本类型
- if (clipTf.isDataFlavorSupported(DataFlavor.stringFlavor)) {
- try {
- ret = (String) clipTf
- .getTransferData(DataFlavor.stringFlavor);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- return ret;
- }
- /**
- * 2.将字符串复制到剪切板。
- */
- public static void setSysClipboardText(String writeMe) {
- Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
- Transferable tText = new StringSelection(writeMe);
- clip.setContents(tText, null);
- }
- /**
- *3. 从剪切板获得图片。
- */
- public static Image getImageFromClipboard() throws Exception {
- Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
- Transferable cc = sysc.getContents(null);
- if (cc == null)
- return null;
- else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor))
- return (Image) cc.getTransferData(DataFlavor.imageFlavor);
- return null;
- }
- /**
- * 4.复制图片到剪切板。
- */
- public static void setClipboardImage(final Image image)throws Exception {
- Transferable trans = new Transferable() {
- public DataFlavor[] getTransferDataFlavors() {
- return new DataFlavor[] { DataFlavor.imageFlavor };
- }
- public boolean isDataFlavorSupported(DataFlavor flavor) {
- return DataFlavor.imageFlavor.equals(flavor);
- }
- public Object getTransferData(DataFlavor flavor)
- throws UnsupportedFlavorException, IOException {
- if (isDataFlavorSupported(flavor))
- return image;
- throw new UnsupportedFlavorException(flavor);
- }
- };
- Toolkit.getDefaultToolkit().getSystemClipboard().setContents(trans,
- null);
- }
- /**
- * 5.通过流获取,可读取图文混合
- */
- public void getImageAndTextFromClipboard() throws Exception{
- Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
- Transferable clipTf = sysClip.getContents(null);
- DataFlavor[] dataList = clipTf.getTransferDataFlavors();
- int wholeLength = 0;
- for (int i = 0; i < dataList.length; i++) {
- DataFlavor data = dataList[i];
- if (data.getSubType().equals("rtf")) {
- Reader reader = data.getReaderForText(clipTf);
- OutputStreamWriter osw = new OutputStreamWriter(
- new FileOutputStream("d:\\test.rtf"));
- char[] c = new char[1024];
- int leng = -1;
- while ((leng = reader.read(c)) != -1) {
- osw.write(c, wholeLength, leng);
- }
- osw.flush();
- osw.close();
- }
- }
- }
- }
Java读取粘贴板内容的更多相关文章
- JS读取粘贴板内容
1.1 监听onpaste事件 1.1.1 定义和用法 npaste 事件在用户向元素中粘贴文本时触发. 注意: 虽然使用的 HTML 元素都支持 onpaste 事件,但实际上并非支持所有元 ...
- java读取txt文件内容
package read; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public ...
- Java 读取文件的内容
Java 读取文件的内容 1) CLASS_NAME: 换成自己真实的类名 2) /page/test.json: 换成自己真实的page 3) FileUtils: 来自于org.apache.co ...
- java读取excel文件内容
1.导入依赖JAR包 <!-- jxl 操作excel --> <dependency> <groupId>org.jxls</groupId> < ...
- 实验10—— java读取歌词文件内容动画输出
1.Read.java package cn.tedu.demo; import java.io.BufferedReader; import java.io.File; import java.io ...
- JAVA读取Excel中内容(HSSF和Workbook两种方法)
内容添加,以前是用的HSSF,前几天帮同学写一个统计表用了Workbook,现在码一下. ---新内容(Workbook)--- 同学要统计一个xls表格,让表1里面的某一列内容对表2里面的每列进行匹 ...
- Java 读取 txt 文件内容到容器 List
方法一: 一.桌面上准备 DataObject.txt 文件,内容为: 二.打开 Eclipse,编写代码如下: import java.io.BufferedReader; import java. ...
- Java 读取Excel 文件内容
在一个项目中,有一个需求,是把excel文件的内容转换为xml格式展示.在学习如何操作的过程中,首先是如何获取excel文件,其中操作的代码如下: 1.首先是导入需要的 jar, 下载地址:https ...
- Java读取各种文件格式内容
所需的jar包哦也不要太记得了,大家可以搜搜,直接上代码: import java.io.BufferedInputStream; import java.io.File; import java.i ...
随机推荐
- Easyui里面动态设置输入框的可见性
JQuery EasyUI 动态隐藏 一.隐藏datagrid某一列 $('#dg').datagrid('hideColumn', 'field'); 二.隐藏html的lable.input标 ...
- POJ1330 Nearest Common Ancestors (JAVA)
经典LCA操作.. 贴AC代码 import java.lang.reflect.Array; import java.util.*; public class POJ1330 { // 并查集部分 ...
- Linux新手随手笔记1.9-使用Apache搭建网站
搭建网站 网站服务:让用户能够通过浏览器访问到的服务器上的文档资源. 对比Windows 和Linux部署服务方法对比 Windows:IIS Linux :Apache ,nginx Ap ...
- git克隆和上传项目
软件环境: 1. VS2017 2. Git ver 2.17.0.1 3. gitee.com 目的: 已有的本地项目(新建)上传到码云,使本地可以和码云同步 尝试: 先在码云上建立项目,项目名称和 ...
- Codeforces - tag::graphs 大合集 [占坑]
520B 给定初始n和目标m,存在两种操作\(-1\)和\(×2\),要求最少操作次数 无脑解法是BFS,不能解决稍大的规模 当n>m时,输出n-m 否则逆向处理,转换为m到n的最小操作次数,存 ...
- 论文阅读 | CornerNet:Detecting Objects as Paired Keypoints
论文地址:https://arxiv.org/abs/1808.01244v1 论文代码:https://github.com/umich-vl/CornerNet 概述 CornerNet是一篇发表 ...
- 页面多个 swiper 互补冲突
方法一:精简版 $(".swiper-container").each(function(){ $(this).swiper({ loop: true, initialSlide ...
- jQuery懒加载插件 – jquery.lazyload.js
Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...
- 【Web开发】一、页面布局
一.Frame <frameset id="topFrameSet" rows="69,*" border="0" framespac ...
- Log4J2 配置文件模板及代码说明
Log4j是Apache的著名项目,随着Java应用的越来越广泛,对日志性能等方面的要求也越来越高.Log4j的升级版本Log4j2在前些年发布.Log4J2的优点和好处有很多,可以自行搜索查阅相关文 ...