我正在监控com端口并获取可用的数据,该端口正在被另一个程序使用,因此可以监控端口而无需打开它 这是代码
package comtest;
import javax.comm.*;
import java.io.*;
public class PortTyper {
public static void main(String[] args) {
try {
CommPortIdentifier com =
CommPortIdentifier.getPortIdentifier("COM2");
CommPort thePort = com.open("port", 10);
CopyThread output = new CopyThread(thePort.getInputStream(),
System.out);
output.start();
} catch (Exception e) {
System.out.println(e);
}
}
}
class CopyThread extends Thread {
InputStream theInput;
OutputStream theOutput;
CopyThread(InputStream in, OutputStream out) {
theInput = in;
theOutput = out;
}
@Override
public void run() {
try {
byte[] buffer = new byte[256];
while (true) {
int bytesRead = theInput.read(buffer);
if (bytesRead == -1) {
break;
}
theOutput.write(buffer, 0, bytesRead);
}
} catch (IOException e) {
System.err.println(e);
}
}
}
所以我可以看到没有
的数据来到COM2CommPort thePort = com.open("port", 10);
由于
答案 0 :(得分:2)
如果串口被其他程序打开,则无法监控串口,因为串口无法同时打开2次。
答案 1 :(得分:-1)
您可以使用PortMon等软件手动尝试监控串口。
但是此软件仅在Windows NT之前可用。