Я получаю нежелательные значения от последовательного порта, используя serialPort.readBytes(int values)
.
serialPort.openPort();
serialPort.setParams(9600, 8, 1, 0);
byte[] buffer = null;
buffer = serialPort.readBytes(20);
if (null != buffer) {
String employee_id_var = "";
String no = new String(buffer);
no = no.replaceAll("[^a-zA-Z0-9]+", ""); //removing garbage values comming from scaner serial input
//for getting employee id
if(no.length() > 6 && no.length() < 10){
no = no.substring(0, 6);
System.out.println("EMPLOYEE NO- "+no);
}
}
Мне нужна чистая строка, которая была отсканирована сканером, но здесь я управляю ей, вызывая no.replaceAll("[^a-zA-Z0-9]+", "")
для удаления нежелательных значений.
Это нереальное решение для моего варианта использования.
Могу ли я получить чистую отсканированную строку данных из serialPort.readBytes(20)
?