В Java, вы должны использовать константу для этого. Попробуйте
public final static char TERMINATOR = 0x0B;
Вы можете использовать его как это в коде:
"122456" + TERMINATOR
Это делает код читабельным и это также позволяет легко заменить терминатор с другим символом (не в вашем случае но вообще) или найти все места, где используется символ.
Если вам нужен терминатор быть переменными, используйте поле и аксессор методу:
private char terminator = 0x0b;
public void setTerminator(char terminator) { this.terminator = terminator; }
public char getTerminator() { return terminator; }
Это позволяет изменить терминатор.
Я также предлагаю создать единый тип Java для каждого сообщения, которое вы планируете отправить. Тип должен знать, как создать массив байтов, который затем можно передать с помощью «службы IO». Таким образом, создать методы доступа для каждой части сообщения, а затем один encode()
метода:
public byte[] encode() {
String message = data1 + terminator + data2 + terminator + ...
return message.getBytes("ISO-88591-1");
}
Таким образом, вы можете построить шаг за шагом сообщение, а затем преобразовать его в поток байт, чтобы отправить один раз его завершение.
Зачем вам нужно установить терминатор в строку? Это похоже на [xy-problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – ddmps
Что нужно для терминатора в java 'String'? – kaysush
Мне нужно отправить эту строку в com-порт. И для протокола требуется специальный терминатор (и разделители полей). – vico