Java : ByteChannel con ejemplos

ByteChannel (Java SE 23 & JDK 23) en Java con ejemplos.
Encontrará muestras de código para la mayoría de los métodos ByteChannel.

Nota :


Summary

Un canal que puede leer y escribir bytes. Esta interfaz simplemente unifica ReadableByteChannel y WritableByteChannel; no especifica ninguna operación nueva. (Traducción automática)

Class diagram

final var path = Path.of("R:", "java-work", "test.data");
System.out.println(path); // R:\java-work\test.data

final byte[] bytes = {10, 20, 30};
Files.write(path, bytes);

try (final ByteChannel channel = Files.newByteChannel(path,
        StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.READ)) {

    final var array = new byte[5];

    final var buffer = ByteBuffer.wrap(array);
    System.out.println(buffer); // java.nio.HeapByteBuffer[pos=0 lim=5 cap=5]

    System.out.println(buffer.position()); // 0
    System.out.println(Arrays.toString(array)); // [0, 0, 0, 0, 0]

    final var ret1 = channel.read(buffer);
    System.out.println(ret1); // 3

    System.out.println(buffer.position()); // 3
    System.out.println(Arrays.toString(array)); // [10, 20, 30, 0, 0]

    buffer.put(3, (byte) 40);
    buffer.put(4, (byte) 50);

    System.out.println(buffer.position()); // 3
    System.out.println(Arrays.toString(array)); // [10, 20, 30, 40, 50]

    final var ret2 = channel.write(buffer);
    System.out.println(ret2); // 2

    System.out.println(buffer.position()); // 5
}

final var ret = Files.readAllBytes(path);
System.out.println(Arrays.toString(ret)); // [10, 20, 30, 40, 50]

Methods declared in Channel

close, isOpen

Consulte el siguiente enlace.

Methods declared in ReadableByteChannel

read

Consulte el siguiente enlace.

Methods declared in WritableByteChannel

write

Consulte el siguiente enlace.


Related posts

To top of page