【随笔】java 虚拟按键
import java.awt.Robot;
import java.io.IOException;
import java.lang.reflect.Field;
public class TestServer {
Class> key;
Robot ro;
{//非静态块用于初始化类类的非静态成员
try {
key = Class.forName("java.awt.event.KeyEvent");
ro = new Robot();
}
catch (Exception e) {}
}
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws Exception {
TestServer ts = new TestServer();
Thread.sleep(2000);
ts.pressLots("testwderetestwderewwer123wwer123");
}
/**
* singleKey
* @param k singleKey
* @throws Exception
*/
private void singleKeyPress (String k) throws Exception{
Field fi = key.getField("VK_" + k.toUpperCase());
ro.keyPress(fi.getInt(null));
ro.keyRelease(fi.getInt(null));
}
/**
* string print
* @param arg
*/
private void pressLots (String ... arg) throws Exception {
int iat = -1;
while (iat++ < arg[0].length()-1)
singleKeyPress(String.valueOf(arg[0].charAt(iat)));
}
}
相关文档:
在成功实现Java调用C++之后,接下来想到能否通过JNA实现Java调用Fortran,今天试验了一下,还是比较容易的。
网上有一个Java调用F95的例子,但是我考虑不仅要实现F95的调用,还要实现F77的调用,所以费了一些周折。
问题的关键在于F77为过程名自动添加了一个尾部的下划线,所以sub1这个过程,到Java一端,就变成了sub1_, ......
你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?
OutputStreamWriter out = ...
java.sql.Connection conn = ...
try { // ⑸
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(
"selec ......
昨天有个朋友问我,学得会不,俺说学的会!
后来他又问我,他如果学的话,学的会学不会,俺说只要不笨蛋,把心思放在java上,就一定学的会!
时间一直过的都很快,每个人能把握的也只有今天,所以即使困难再多,只有此时此刻自己在不停的努力。
哪怕像蜗牛一样的前进,也一定有成功的一天,就怕自己放弃,怕自己没有信心� ......
首先在Linux上创建一个共享文件夹
mkdir /home/user/share
用root用户启动samba服务
service smb start
修改smb.conf文件
sudo gedit /etc/samba/smb.conf 或者 vi /etc/samba/smb.conf
[share]
path = /home/user/share
...
writable = yes
创建共享用户并设置密码
sudo useradd smbusr
sudo smbpasswd -a s ......
Java中的startsWith和endsWith方法,在filter的功能实现中很方便,PHP可以用strncmp()
实现startsWith,但是无法实现endsWith,有些人会用正则来实现,但大多数人都不喜欢正则表达式的操作。
这里我通过一个叫substr_compare的方法实现(同时他也能实现sta ......