在Java中操作串口实现短信收发
采用串口操作进行短信收发,是比较常见的一种方式.比如,很多群发软件,用的就是这种方法.
1.配置comm.jar.
Comm.jar是Sub实现底层串口操作的API,调用了本地的DLL文件,因为Java本身不具备直接访问硬件设置的能力,都是通过调用本地方法来实现的.可以Java的官方网站下载.下载之后把其中Comm.jar包导入到工程的Classpath中,把另外两个非常重要的文件javax.comm.properties和win32com.dll考贝到你的工程目录下,即java.user下.
2.打开串口.
在打开串口前首先要加载Win32com.dll,因为我们没有把它放到JRE路径下,所以必须要自己显式的加载.
String driverName = "com.sun.comm.Win32Driver";
CommDriver driver = null;
try {
System.loadLibrary("win32com");
driver = (CommDriver) Class.forName(driverName).newInstance();
driver.initialize();
} catch (InstantiationException e1) {
logger.error("1:" + e1.getMessage());
} catch (IllegalAccessException e1) {
logger.error("2:" + e1.getMessage());
} catch (ClassNotFoundException e1) {
logger.error(e1.getMessage());
}
然后获取你指定的端口:
SerialPort sPort = null;
CommPortIdentifier portID;
String owner = new String("modemn");
int keeptime = 5000;
Enumeration portList;
portList = CommPortIdentifier.getPortIdentifiers();
// 如果有多个端口
while (portList.hasMoreElements()) {
portID = (CommPortIdentifier) portList.nextElement();
if (portID.getName().equals(com))
try {
sPort = (SerialPort) portID.open(owner, keeptime);
break;
}// 打开一个串口
catch (PortInUseException e) {
logger.fatal(e.getMessage());
System.exit(1);
}
相关文档:
数据库部分:
1.举例说明Dynamic SQL的原理及应用?
2.举例说明数据库索引的优缺点?
3.如果由你来设计数据的rollback,你的思路和方案?
4.假设有一个table,名为pages,有四个字段,id ,url,title,body。里面储了很多网页,网页的url地址,title和网页内容,用一个
sql查询将url匹配的排在最前面,title匹配的在其次,b ......
有很多学生问我,现在 3G移动互联网发展之势头必将是IT领域发展十年一遇的难得机遇,想投身到该行业中,不知道是应该学网络、还是学嵌入式设备开发、还是学习一下Java,C++应用开发,还是学习一下开源框架Android?
从我个人对行业的理解来讲,移动互联网的发展一定是先从网络开始,网络设备提供商、协议的开发机构( ......
近日在编程中用到接口知识,由于课本中对接口描述较少,所以想从网上查找资料,但网上的资料大多也只是冗长的描述,所以在此提供一自己写的实例,供大家参考:
原题是这样的:在java中,定义一个接口,声明计算长方形面积和周长的抽象方法,再用一个类去实现这个接口,再编写一个测试类去使用这个接口。
首先,接口必须单 ......
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
一、 单项选择题
1.Java是从( )语言改进重新设计。
A.Ada B.C++ C.Pasacal D.BASIC
答案:B
2.下列语句哪一个正确( )
A. Java程序经编译后会产生machine code
B. Java程序经编译后会产生byte code
C. Java程序经编译后会产生DLL
D. 以上都不正确
答案:B ......