Я предполагаю, что вы имеете в виду, что «использование» означает чтение, но то, что я объясню для случая чтения, может быть в основном отменено для случая записи.
так что вы получите байт []. это может представлять любой тип данных, для которых могут потребоваться специальные типы преобразования (символьные, зашифрованные и т. д.). давайте представим, что вы хотите записать эти данные в файл как есть.
во-первых, вы можете создать ByteArrayInputStream, который, по сути, является механизмом для последовательной передачи байтов чему-либо.
тогда вы можете создать FileOutputStream для файла, который хотите создать. существует множество типов InputStreams и OutputStreams для разных источников данных и мест назначения.
наконец, вы должны записать InputStream в OutputStream. в этом случае массив байтов будет последовательно отправлен в FileOutputStream для записи. Для этого я рекомендую использовать IOUtils
byte[] bytes = ...;//
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
FileOutputStream out = new FileOutputStream(new File(...));
IOUtils.copy(in, out);
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(out);
и наоборот
FileInputStream in = new FileInputStream(new File(...));
ByteArrayOutputStream out = new ByteArrayOutputStream();
IOUtils.copy(in, out);
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(out);
byte[] bytes = out.toByteArray();
если вы используете приведенные выше фрагменты кода, вам нужно будет обрабатывать исключения, и я рекомендую вам сделать «закрытие» в блоке finally.