Pipe.SinkChannel.Write Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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.
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.