Имеется строковая переменная
public static String MSG;
Её задача получить пакет данных от сети X-Bee и вывести на экран приложения и записать в текст.
MSG = new String(xBeePacket.toString());
helloWorld2.appendText("IN: "+MSG+"\n"); //запись в текстовое поле helloWorld2
try (FileWriter writer = new FileWriter(filename(), true))
{
writer.append(MSG);
writer.append("\r\n");
writer.flush();
}
catch (IOException ex) { System.out.println(ex.getMessage()); }
В текстовое поле всё приходит четко. Например пришло 2 пакета: 7E0023910013A200414F926F68FEE8E80011C1050101FCA0550153158E07134650019047505306 7E0023910013A200415B69C75C5AE8E80011C1050101FCA0550153158E0713465001904750537B
А вот в файле это выглядит иначе: 7E0023910013A200414F926F68FEE8E80011C1050101FCA0550153158E07134650019047505306 ��US�FP�GPS
Можно заметить, что в конце есть символы GPS, однако в пакете еоды этих символов не последние, выходит, что он ещё и часть пакета порезал. Что самое странное, эти пакеты однотипны и почти идентичны, но почему в одном из пакетов прога решила перевести символы, а вероятность возникновения такой белеберды непредсказуема, может вообще не быть, а может почти все строки так заполнятся, при том, что в текстовом поле всё корректно отображается.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости