String一度 & に変換された big があり、ByteBuffer後で何度か読んでいるときに、String(テキストの概要) の一部だけを表示する必要があるため、 の一部のみを に変換したいと考えていByteBufferますString。
Bytebuffer[全体をString&に変換してから使用するsubstring()]ではなく、バイトバッファの一部のみを文字列に変換することは可能ですか?
String一度 & に変換された big があり、ByteBuffer後で何度か読んでいるときに、String(テキストの概要) の一部だけを表示する必要があるため、 の一部のみを に変換したいと考えていByteBufferますString。
Bytebuffer[全体をString&に変換してから使用するsubstring()]ではなく、バイトバッファの一部のみを文字列に変換することは可能ですか?
try {
ByteBuffer bbuf = encoder.encode(CharBuffer.wrap(yourstr));
bbuf.position(0);
bbuf.limit(200);
CharBuffer cbuf = decoder.decode(bbuf);
String s = cbuf.toString();
System.out.println(s);
} catch (CharacterCodingException e) {
}
これは、バイト バッファから 0.byte から 200 で終わる文字を返す必要があります。
というより:
ByteBuffer bbuf = ByteBuffer.wrap(yourstr.getBytes());
bbuf.position(0);
bbuf.limit(200);
byte[] bytearr = new byte[bbuf.remaining()];
bbuf.get(bytearr);
String s = new String(bytearr);
同じことを行いますが、明示的な文字のデコード/エンコードは行いません。
もちろん、デコードはのコンストラクターで行われ、String sプラットフォームに依存するため、注意してください。