Как использовать java.nio.channels.filechannel, чтобы написать байт [] в файл - ОсновыJAVA

Программисты JAVA общаются здесь
Anonymous
Как использовать java.nio.channels.filechannel, чтобы написать байт [] в файл - Основы

Сообщение Anonymous »

У меня нет опыта использования каналов Java. Я хотел бы написать байтовый массив в файл. В настоящее время у меня есть следующий код: < /p>

Код: Выделить всё

String outFileString = DEFAULT_DECODED_FILE; // Valid file pathname
FileSystem fs = FileSystems.getDefault();
Path fp = fs.getPath(outFileString);

FileChannel outChannel = FileChannel.open(fp, EnumSet.of(StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE));

// Please note: result.getRawBytes() returns a byte[]
ByteBuffer buffer = ByteBuffer.allocate(result.getRawBytes().length);
buffer.put(result.getRawBytes());

outChannel.write(buffer); // File successfully created/truncated, but no data
< /code>

С помощью этого кода создается выходной файл и усечен, если он существует.  Кроме того, в отладчике IntelliJ я вижу, что буфер 
содержит данные. Кроме того, линейный outChannel.write () успешно вызван без исключения. Однако после выхода программы данные не отображаются в выходном файле.>

Подробнее здесь: https://stackoverflow.com/questions/101 ... ile-basics

Вернуться в «JAVA»