package test;
import java.io.*;
import java.util.*;
import javax.comm.*;public class SimpleRead {
static CommPortIdentifier portId;
static Enumeration portList; InputStream inputStream;
SerialPort serialPort;
Thread readThread;
static boolean b; public static void main(String[] args) {
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {//无法进入此循环
portId = (CommPortIdentifier) portList.nextElement();
}
}
}我已经将 win32com.dll 放在jdk的bin目录下
将comm.jar和javax.comm.properties文件放在lib目录下
不知道什么原因 无法获得计算机系统的所有串口
请高手指点一二
import java.io.*;
import java.util.*;
import javax.comm.*;public class SimpleRead {
static CommPortIdentifier portId;
static Enumeration portList; InputStream inputStream;
SerialPort serialPort;
Thread readThread;
static boolean b; public static void main(String[] args) {
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {//无法进入此循环
portId = (CommPortIdentifier) portList.nextElement();
}
}
}我已经将 win32com.dll 放在jdk的bin目录下
将comm.jar和javax.comm.properties文件放在lib目录下
不知道什么原因 无法获得计算机系统的所有串口
请高手指点一二
javax.comm.properties
我试验了一下 上面的两个文件还在原来的路径上
将comm.jar放在了comm.jar放在jdk/jre/lib/ext的目录下
不知道什么原因还是无法找到串口呀
我试验了一下 的确ok了
谢谢呀 大侠呀 我还有几个问题要问
直接的jre和jdk下的jre有什么区别呀
jdk下有类库 jdk下的jre也有类库 直接的jre下还有类库
java执行时调用的时那个类库呀 他们之间有什么区别呀!
另外Enumeration是个接口,我并没没有实现这个接口,为什么在程序理可以直接使用这个接口中的方法portList.hasMoreElements()那呀,其中的奥妙是什么那呀!
谢谢了呀!小生感激涕零!
jdk的jre是给jdk里的一些.jar用的。因为他们也是用java写的,所以这套jre是给他们用的。这套jre少了服务器的一些api。任何不用到这些api的java程序都可以用这套不完整的jre.CommPortIdentifier.getPortIdentifiers();这个方法返回的是一个实现了Enumeration接口的对象。是他实现的不是你实现的。
知道了 谢谢呀
那我怎样才能选择自己运行的jre那呀