как записать массив символов в java socketchannel. Я не могу записать данные char в socketchannel, так как для этого требуется ByteBuffer.
как записать массив символов в java socketchannel
comment
Пожалуйста, предоставьте код на ваш вопрос.
- person jens-na   schedule 20.12.2012
comment
См.: stackoverflow.com/questions /871870/.
- person Adrian Ber   schedule 20.12.2012
Ответы (2)
Пробовали ли вы использовать putChar метод ByteBuffer?
ByteBuffer buf = ByteBuffer.allocate(1024);
for (char ch : myChars) {
buf.putChar(ch);
}
person
Andrey Adamovich
schedule
20.12.2012
Несколько способов, например
char[] c = {'1', '2'};
String str = new String(c);
ByteBuffer bb = Charset.defaultCharset().encode(str);
or
ByteBuffer.wrap(str.getBytes());
person
Evgeniy Dorofeev
schedule
20.12.2012
Только комментарий, скорее всего, вы захотите явно указать, какой набор символов вы используете для кодирования массива символов, а не просто использовать набор символов по умолчанию. Ваш сервер, вероятно, ожидает определенного, и вы не хотите быть жертвой прихотей любой платформы и локали, на которой выполняется ваш код.
- person Charlie; 20.12.2012