使用了hutool 的读取流,直接进程死掉
之后又试了几种流的读取方法,都是会进程死掉
rxtx java 第一个example 给的读流方法,
有问题,读不全
byte[] buffer = new byte[inputStream.available()];
inputStream.read(buffer);
return new String(buffer);
第二个例子给的读取流方法可以读全,并且处理了串口数据【换行】结尾。 rxtx.qbang.org/wiki/index.…
正确读法
private String readInputStream1() throws IOException {
byte[] buffer = new byte[1024];
int data;
try {
int len = 0;
while ((data = inputStream.read()) > -1) {
if (data == '\n') {
break;
}
buffer[len++] = (byte) data;
}
String readData = new String(buffer, 0, len);
return readData;
} catch (IOException e) {
log.error(e.getMessage(),e);
//断开串口
serialPort.close();
inputStream.close();
outputStream.close();
availableSerialPorts = new HashSet<>();
}
return "";
}