Чтение Java из компорта - PullRequest
       3

Чтение Java из компорта

0 голосов
/ 09 апреля 2011

Проблема : Попытка чтения с некоторых электронных весов с использованием компорта через Java

Я пытаюсь читать с ком-порта с использованием Java.До сих пор мне удавалось создать небольшое приложение, которое использует классы Java SerialPort и InputStream для чтения из компорта.

Приложение использует SerialPortEventListener для прослушивания события, отправленного через компорт весов на компьютер,До сих пор у меня был некоторый успех с использованием InputStream внутри слушателя событий для чтения некоторых байтов из компорта, однако вывод не имеет никакого смысла, и я продолжаю получать сообщения в виде:

[B@8813f2

или

[B@1d58aae

Чтобы уточнить, я получаю эти сообщения на экране при взаимодействии с клавиатурой весов.Мне просто нужна помощь по правильной интерпретации результатов.Использую ли я правильные классы для чтения и записи в компорт?

Ответы [ 3 ]

1 голос
/ 09 апреля 2011

Вы прочитали данные в byte[], а затем попытались сбросить их, используя System.out.println(data), где data объявлено byte[] data. К сожалению, это просто напечатает внутреннее представление массива, за которым бесполезно следует '[', за которым следует шестнадцатеричный хеш-код.

Вместо этого вы хотите сбросить содержимое массива. Использование

System.out.println(Arrays.toString(data))

- это самый простой способ, который должен работать для вас.

В противном случае вам необходимо выполнить итерацию массива и распечатать каждый байт или преобразовать массив байтов в String, используя, например, new String(data) (который будет использовать кодировку платформы по умолчанию).

1 голос
/ 09 апреля 2011

Они выглядят как результат печати объекта массива байтов в виде необработанной ссылки на объект.Таким образом, ваш вызов, скорее всего, вызван каким-то путанным вызовом System.out.something или System.err.something.

0 голосов
/ 09 апреля 2011

Объект, который у вас есть, это, очевидно, байтовый массив.Я так понимаю, вы берете объект и выводите его на консоль.См .: http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html#getName() и: http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...