То, что вы ищете, это DataInputStream
и DataOutputStream
.
Как обернуть над resp.an InputStream
и OutputStream
и может читать/писать различные примитивные типы, «преобразованы в UTF» данные и т.д.
Как писать в массив байтов в себе, вы хотите использовать ByteArrayOutputStream
и обертку DataOutputStream
над ним:
final ByteArrayOutputStream out = new ByteArrayOutputStream();
final DataOutputStream dataOut = new DataOutputStream(out);
// use dataOut; then:
final ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
final DataInputStream dataIn = new DataInputStream(in);
// read back
во всяком случае, в одном из ваших комментариев также неясно, что вы хотите сделать; если это двоичные данные, то вместо этого перейдите на ByteBuffer
; вы можете изменить свою консистенцию по своему желанию, прежде чем использовать ее (по умолчанию это большой конец), массивы байтов в ней и т. д. С той разницей, что в Java нет такой вещи, как неподписанные примитивные целые типы (ну, сохраните для char
, но это один - своеобразный зверь).
В целом, это похоже на проблему XY, поэтому я предлагаю вам отредактировать свой вопрос и полностью объяснить, что вы пытаетесь сделать.
'Строка (байт [] байт, кодировка набор символов)' для преобразования из 'байт []' для 'Строка ' – Yoda
@Yoda NO! Это потеряет информацию – fge
@fge Он не указал цель. Да, хорошо. – Yoda