Java小聪明编程IWrite粘贴小助手——YouWrite
Posted 九死九歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小聪明编程IWrite粘贴小助手——YouWrite相关的知识,希望对你有一定的参考价值。
一、背景(一些屁话)
事情是这样的,今天突然间想起来IWrite没有写。于是打开iwrite,禁用脚本,准备一如既往地复制粘贴。
结果。。。一点用也没,禁用脚本的话,别说粘贴了,自己写都不行。
明明上学期还能通过禁用脚本来粘贴的,这学期居然不行了,看来是系统升级了。
但这能难得到我?
破网站还要i write。那我偏不,我要you write。
怀着这样的想法,跨世纪的工程——YouWrite诞生了。利用Java的IO流和Robot类型,解决了iwrite不能复制粘贴的世纪难题。
(上图是西安邮电大学因iwrite不能复制粘贴而面露难色的二人)
二、核心代码
直接上代码:
package cn.unipus.youwrite;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.io.*;
public class YouWrite
private static BufferedReader br;
private static Robot r;
private static void write(char ch)
/* 如果是小写字母 */
if ('a' <= ch && ch <= 'z')
int temp = ch & 0xDF;
r.keyPress(temp);
r.keyRelease(temp);
return;
/* 如果是大写字母 */
if ('A' <= ch && ch <= 'Z')
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(ch);
r.keyRelease(ch);
r.keyRelease(KeyEvent.VK_SHIFT);
return;
/* 如果是数字 */
if ('0' <= ch && ch <= '9')
r.keyPress(ch);
r.keyRelease(ch);
return;
/* 其他字符 */
try
r.keyPress(ch);
r.keyRelease(ch);
catch (IllegalArgumentException e)
System.out.print(ch);
System.out.println("字符非法,已跳过。");
private static void init()
try
r = new Robot();
catch (AWTException e)
System.err.println("机器人创建失败");
e.printStackTrace();
try
br = new BufferedReader(
new InputStreamReader(
new FileInputStream("text.txt")));
catch (FileNotFoundException e)
System.err.println("IO异常");
e.printStackTrace();
public static void write()
if (br == null) init();
/* 缓冲区大小设置为1MB */
char[] buffer = new char[512];
int l = 0;
try
/* 遍历输出流 */
while ((l = br.read(buffer)) > 0)
for (int i = 0; i < l; i++)
write(buffer[i]);
catch (IOException e)
e.printStackTrace();
YouWrite类是一个不可实例化的类,其中只有一个write()静态方法是对外透明的,调用该方法后,程序会读取"text.txt"文件,并自动控制键盘输入文件中的内容。
(写完代码后累得昏撅的九死九歌)
三、使用方法
我们再写一个主类:(或者你也可以把主函数放到YouWrite里边,随缘咯)
package cn.unipus.youwrite;
public class Main
public static void main(String[] args)
YouWrite.write();
创建一个"text.txt"的文件:
从某没良心的搜索引擎上copy一篇英文作文并粘贴到"text.txt"中:
回到Main中,直接运行。并把光标放到iwrite的输入框,像这样:(切记一定要切成英文输入)
过会儿后:
我们看看控制台:
毕竟我这个代码的原理是分析字符对应的键盘按键并控制键盘键入,汉字的话还得分析汉字的拼音之类的,工程量太大了,直接跳过完事。
最后编辑于1919年8月10日 11:45:14
以上是关于Java小聪明编程IWrite粘贴小助手——YouWrite的主要内容,如果未能解决你的问题,请参考以下文章
word中的照片怎么复制粘贴出来??HELP~~THANK YOU!!!