任意复制题目,得到答案
package task;
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.File;
import java.io.IOException;
import java.util.Scanner;
public class Taskzuobigongju {
public static void main(String[] args) throws InterruptedException, UnsupportedFlavorException, IOException {
Clipboard clipoard = Toolkit.getDefaultToolkit().getSystemClipboard();
//随便定义个字符串,StringSelection是剪切板可识别的字符串格式
StringSelection temp = new StringSelection("aaa");
//通过剪切板的set方法将上述字段添加进剪切板
clipoard.setContents(temp, null);
/*
* 死循环,保证程序一直运行着
* 从剪切板中拿到复制的内容
* 读取题库文件,一行一行比对
* 如果发现该行内容包含复制的词条,那么匹配成功,把该行内容中的答案部分添加进剪切板
*/
while(true) {
//得到剪切板中的内容模块
Transferable transferable = clipoard.getContents(null);
//从中匹配字符串格式,得到剪切板中的文字
String search = (String)transferable.getTransferData(DataFlavor.stringFlavor);
//读入题库文件
Scanner scanner = new Scanner(new File("e:/tiku.txt"));
//按行读取文件
while (scanner.hasNext()) {
String context = scanner.nextLine();
//判断改行是否包含搜索的词条
if(context.contains(search)) {
//如果包含,将改行冒号后的部分也就是答案部分放入剪切板
StringSelection selection = new StringSelection(context.split(":")[1]);
clipoard.setContents(selection, null);
}
}
//休眠一秒,防止频繁调用剪切板系统报错
Thread.sleep(50);
}
}
}