Sprache

Pipe.SinkChannel.Write Methode

Definition

Überlädt

Name Beschreibung
Write(ByteBuffer)

Schreibt eine Folge von Bytes aus dem angegebenen Puffer in diesen Kanal.

Write(ByteBuffer[])

Schreibt eine Bytesequenz aus den angegebenen Puffern in diesen Kanal.

Write(ByteBuffer[], Int32, Int32)

Schreibt eine Folge von Bytes aus einer Untermenge der angegebenen Puffer in diesen Kanal.

Write(ByteBuffer)

Schreibt eine Folge von Bytes aus dem angegebenen Puffer in diesen Kanal.

[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)I", "GetWrite_Ljava_nio_ByteBuffer_Handler")]
public abstract int Write(Java.Nio.ByteBuffer? src);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)I", "GetWrite_Ljava_nio_ByteBuffer_Handler")>]
abstract member Write : Java.Nio.ByteBuffer -> int

Parameter

src
ByteBuffer

Der Puffer, aus dem Bytes abgerufen werden sollen

Gibt zurück

Die Anzahl der geschriebenen Bytes, möglicherweise Null

Implementiert

Attribute

Hinweise

Schreibt eine Folge von Bytes aus dem angegebenen Puffer in diesen Kanal.

Es wird versucht, bis zu r Bytes in den Kanal zu schreiben, wobei r die Anzahl der im Puffer verbleibenden Bytes ist, src.remaining()d. h. zum Zeitpunkt, in dem diese Methode aufgerufen wird.

Angenommen, eine Bytesequenz der Länge n wird geschrieben, wobei 0 <= n <= r. Diese Bytesequenz wird vom Puffer ab Index p übertragen, wobei p die Position des Puffers zum Zeitpunkt des Aufrufs dieser Methode ist; der Index des letzten geschriebenen Bytes lautet p + n - 1. Wenn die Position des Puffers zurückgegeben wird, ist dies gleich p + n; sein Grenzwert wird sich nicht geändert haben.

Sofern nicht anders angegeben, wird ein Schreibvorgang erst nach dem Schreiben aller angeforderten Bytes zurückgegeben. Einige Arten von Kanälen können je nach Status nur einige der Bytes oder gar keine schreiben. Ein Socketkanal im nicht blockierenden Modus kann z. B. nicht mehr Bytes schreiben, als im Ausgabepuffer des Sockets frei sind.

Diese Methode kann jederzeit aufgerufen werden. Wenn jedoch bereits ein anderer Thread einen Schreibvorgang für diesen Kanal initiiert hat, wird ein Aufruf dieser Methode blockiert, bis der erste Vorgang abgeschlossen ist.

Java-Dokumentation für java.nio.channels.WritableByteChannel.write(java.nio.ByteBuffer).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Write(ByteBuffer[])

Schreibt eine Bytesequenz aus den angegebenen Puffern in diesen Kanal.

[Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;)J", "GetWrite_arrayLjava_nio_ByteBuffer_Handler")]
public abstract long Write(Java.Nio.ByteBuffer[]? srcs);
[<Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;)J", "GetWrite_arrayLjava_nio_ByteBuffer_Handler")>]
abstract member Write : Java.Nio.ByteBuffer[] -> int64

Parameter

srcs
ByteBuffer[]

Die Puffer, aus denen Bytes abgerufen werden sollen

Gibt zurück

Die Anzahl der geschriebenen Bytes, möglicherweise Null

Implementiert

Attribute

Hinweise

Schreibt eine Bytesequenz aus den angegebenen Puffern in diesen Kanal.

Ein Aufruf dieser Methode des Formulars c.write(srcs) verhält sich genauso wie der Aufruf

<Blockquote>

c.write(srcs, 0, srcs.length);

</blockquote>

Java-Dokumentation für java.nio.channels.GatheringByteChannel.write(java.nio.ByteBuffer[]).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Write(ByteBuffer[], Int32, Int32)

Schreibt eine Folge von Bytes aus einer Untermenge der angegebenen Puffer in diesen Kanal.

[Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;II)J", "GetWrite_arrayLjava_nio_ByteBuffer_IIHandler")]
public abstract long Write(Java.Nio.ByteBuffer[]? srcs, int offset, int length);
[<Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;II)J", "GetWrite_arrayLjava_nio_ByteBuffer_IIHandler")>]
abstract member Write : Java.Nio.ByteBuffer[] * int * int -> int64

Parameter

srcs
ByteBuffer[]

Die Puffer, aus denen Bytes abgerufen werden sollen

offset
Int32

Der Offset innerhalb des Pufferarrays des ersten Puffers, aus dem Bytes abgerufen werden sollen; darf nicht negativ und nicht größer als srcs.length

length
Int32

Die maximale Anzahl von Puffern, auf die zugegriffen werden soll; darf nicht negativ und nicht größer als srcs.length - offset

Gibt zurück

Die Anzahl der geschriebenen Bytes, möglicherweise Null

Implementiert

Attribute

Hinweise

Schreibt eine Folge von Bytes aus einer Untermenge der angegebenen Puffer in diesen Kanal.

Es wird versucht, bis zu r Bytes in diesen Kanal zu schreiben, wobei r die Gesamtanzahl der Bytes ist, die in der angegebenen Untermenge des angegebenen Pufferarrays verbleiben, d. h.,

<Blockquote>

srcs[offset].remaining()
                + srcs[offset+1].remaining()
                + ... + srcs[offset+length-1].remaining()

</blockquote>

im Moment, in dem diese Methode aufgerufen wird.

Angenommen, eine Bytesequenz der Länge n wird geschrieben, wobei 0 <= n <= r. Bis zu den ersten srcs[offset].remaining() Bytes dieser Sequenz werden vom Puffer srcs[offset]geschrieben, bis zu den nächsten srcs[offset+1].remaining() Bytes aus dem Puffer srcs[offset+1]usw. geschrieben, bis die gesamte Bytesequenz geschrieben wird. So viele Bytes wie möglich werden aus jedem Puffer geschrieben, daher ist die endgültige Position jedes aktualisierten Puffers, mit Ausnahme des letzten aktualisierten Puffers, garantiert gleich dem Grenzwert dieses Puffers.

Sofern nicht anders angegeben, wird ein Schreibvorgang erst nach dem Schreiben aller angeforderten Bytes zurückgegeben. Einige Arten von Kanälen können je nach Status nur einige der Bytes oder gar keine schreiben. Ein Socketkanal im nicht blockierenden Modus kann z. B. nicht mehr Bytes schreiben, als im Ausgabepuffer des Sockets frei sind.

Diese Methode kann jederzeit aufgerufen werden. Wenn jedoch bereits ein anderer Thread einen Schreibvorgang für diesen Kanal initiiert hat, wird ein Aufruf dieser Methode blockiert, bis der erste Vorgang abgeschlossen ist.

Java-Dokumentation für java.nio.channels.GatheringByteChannel.write(java.nio.ByteBuffer[], int, int).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: