| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Чтение данных из COM порта |
| Автор: zheltovodets 6.7.2013, 00:58 | ||
Считываю данные с com порта.
По протоколу устройство отдает 20 байт, но отдает максимум по 8 байт. То есть цикл проходит 3 раза по 8, 8 и 4. И я получаю 4042d3030302e320000000000003438d553132332e0000000000003435da000000000000000. Как мне объединить, что бы можно было выхватывать значения???? |
| Автор: a0730 7.7.2013, 22:29 |
| Используй другой вариант метода read: read(byte[] b, int off, int len) for (int off=0;inputStream.available() > 0;) { numByte = inputStream.read(readBuffer, off, readBuffer.length-off); if( numByte > 0 ) { off += numByte; } else { break; } } Этот ответ добавлен с нового Винграда - http://ru.vingrad.com//object-id51d741e76ccc191a61000003#findElement_E7045_51d9c19d6ccc19f67e000443_0 |
| Автор: LSD 8.7.2013, 10:51 |
| Модератор: Название темы должно отражать ее суть! http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html#readFully(byte%5B |