一、背景(一些屁话)

  事情是这样的,今天突然间想起来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相关推荐

  1. java界面编程 视频,「小程序JAVA实战」小程序的横向视频和页面拦截(59)

    在手机拍摄视频的时候,存在2个情况,手机横这和手机竖着.如果是横着的情况下,我们竖着拿手机观看模式,包括抖音,快手,他们的解决方案都是上下出现黑色变宽,对视频进行等比例压缩.老铁我也参考这个来完成.另 ...

  2. JAVA通信编程(一)——串口通讯

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  3. 网站编程锦上添花 分享8个常用代码优化小助手

    企业建立网站,编程语言是人和计算机之间最直接的交流.而代码又是编程的主要途径.代码优化是通过对程序代码进行等价变化,而不改变程序的运行结果.常用的代码优化技术有删除多余运算,循环不变代码外提,强度削弱 ...

  4. YZYZ菜鸟编程小助手

    YZYZ菜鸟编程小助手是一款很实用的新手程序员助手工具,软件提供了一系列新手需要掌握的东西,让你的编程能力直线上升,拥有它就可以帮助你对编程基本理论以及开发思路有一个比较明确的认识,同时它还集成了PO ...

  5. java编码技巧_编码小技巧 让java编程更便捷

    经过一段时间的编码,程序员们或多或少会形成自己的编码习惯,好的习惯能帮助自己写出更好的代码,方便程序的维护.抱着侥幸心理,对"可能会出错"的代码没有做"防错性程序设计&q ...

  6. JAVA小项目实例源码—学习娱乐小助手

    代码地址如下: http://www.demodashi.com/demo/11456.html 一.程序实现 项目目录: MyJFrame:实现项目界面样式: AppProcess:实现调用api或 ...

  7. java计算机毕业设计腾讯网游辅助小助手源代码+数据库+系统+lw文档

    java计算机毕业设计腾讯网游辅助小助手源代码+数据库+系统+lw文档 java计算机毕业设计腾讯网游辅助小助手源代码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Java ...

  8. AI之Tool:GitHub Copilot(一款人工智能编程小助手—猜你想写的代码)的简介、安装、使用方法之详细攻略

    AI之Tool:GitHub Copilot(一款人工智能编程小助手-猜你想写的代码)的简介.安装.使用方法之详细攻略 目录 Copilot人工智能工具的简介 1.GitHub Copilot的安全性 ...

  9. JAVA计算机毕业设计腾讯网游辅助小助手(附源码、数据库)

    JAVA计算机毕业设计腾讯网游辅助小助手(附源码.数据库) 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe ...

最新文章

  1. 设置html初始值0,数组怎么初始化?
  2. json串反转义(消除反斜杠)-- 转载
  3. 最激动人心的视觉系统其实是最枯燥乏味的
  4. Web2.0十大Ajax安全漏洞以及成因
  5. Android Studio 无法浏览插件市场
  6. appium架构分析
  7. MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题
  8. bzoj1005 [HNOI2008]明明的烦恼(Prufer数列+高精度(wys算法。。。))
  9. 01-SA8155 QNX 虚拟机Hypervisor
  10. 人活着到底为了什么?
  11. 直播系统开发:宋祖儿直播自曝“抠脚妹”
  12. 在C#中使用钩子实现Alt+F4健窗口最小化功能
  13. psu 计算机 排名,PSU计算机工程专业研究生排名必然得当心去考察
  14. 区块链的奥卡姆剃刀在哪里?(1)
  15. 实战:战狼2票房数据分析——(2)票房数据构造及保存
  16. 对于html转jsp乱码问题
  17. 软件学院毕业生对软件学院的看法
  18. DCT 变换的一些思考
  19. 翻转180度后跳转页面 +轮播图 瀑布流+购物车
  20. mysql占用服务器cpu过高的原因以及解决办法

热门文章

  1. 使用nexus搭建离线仓库
  2. 快排:Qsort函数的使用
  3. 2022-03-14
  4. properties文件转xml
  5. 携手2019CCF大数据与计算智能大赛,蓄力视频版权检测新突破
  6. 基于Java毕业设计超市货品进销存系统前台源码+系统+mysql+lw文档+部署软件
  7. Docker之Docker介绍及安装配置
  8. 将一维数组转换成矩阵
  9. 三子棋小游戏(可扩展为五子棋)
  10. 那些年_被热播剧误解了的码农们