Я хочу разделить данные с этим форматом
<STX> data1<FS> Data2<FS> Data3<FS> ...Data_n<FS>Checksum<ETX>
где
то мне нужно отправить его в таблицу базы данных
Я использую библиотеку RXTX и получаю результат по значению байта.
Может ли кто-нибудь помочь и поделиться со мной, как это сделать?
Я получаю результат с уродливыми способами, я думаю, но реальная проблема заключается в том, что я просто хочу ввести массив данных из массива [2] до длины -2. на данный момент (я сделал 60 статических массивов), но данные всегда будут динамической длиной в массиве. есть ли способ решить эту проблему. Я слышал о типе данных списка, но это еще сложнее.
public Constructor(GUI window)
{
this.dump = new String[60];
this.window = window;
}
int i = 0; String[] dump; boolean begin = false,first=true;
public void serialEvent(SerialPortEvent evt) {
if (evt.getEventType() == SerialPortEvent.DATA_AVAILABLE)
{
try
{
byte singleData = (byte)input.read();
if (singleData == 2){
begin =true; i=0;
}
if (singleData == 3){
begin = false; writeData();
}
if (begin == true){
if (singleData != 28 && singleData!=2 ){
if(dump[i]!=null && first==false){
dump[i]=dump[i]+ new String(new byte[] {singleData});
}
if(dump[i]==null){
dump[i]=new String(new byte[] {singleData});
first=false;
}
}
if (singleData==28){
System.out.println(dump[i] + " No." + i );
first=true;
i++;
}
}
}
catch (Exception e)
{
logText = "Failed to read data. (" + e.toString() + ")";
window.txtLog.setForeground(Color.red);
window.txtLog.append(logText + "\n");
}
}
}