Pipe.SinkChannel.Write Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| Write(ByteBuffer) |
Scrive una sequenza di byte in questo canale dal buffer specificato. |
| Write(ByteBuffer[]) |
Scrive una sequenza di byte in questo canale dai buffer specificati. |
| Write(ByteBuffer[], Int32, Int32) |
Scrive una sequenza di byte in questo canale da una sottosequenza dei buffer specificati. |
Write(ByteBuffer)
Scrive una sequenza di byte in questo canale dal buffer specificato.
[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
Parametri
- src
- ByteBuffer
Buffer da cui recuperare i byte
Valori restituiti
Numero di byte scritti, possibilmente zero
Implementazioni
- Attributi
Commenti
Scrive una sequenza di byte in questo canale dal buffer specificato.
Viene effettuato un tentativo di scrittura fino a r byte nel canale, dove r è il numero di byte rimanenti nel buffer, ovvero , src.remaining()al momento in cui questo metodo viene richiamato.
Si supponga che venga scritta una sequenza di byte di lunghezza n , dove 0 <= n <= r. Questa sequenza di byte verrà trasferita dal buffer a partire dall'indice p, dove p è la posizione del buffer nel momento in cui questo metodo viene richiamato; l'indice dell'ultimo byte scritto sarà p + n - 1. Al momento della restituzione della posizione del buffer sarà uguale a p + n; il limite non verrà modificato.
Se non diversamente specificato, un'operazione di scrittura restituirà solo dopo la scrittura di tutti i byte richiesti. Alcuni tipi di canali, a seconda del relativo stato, possono scrivere solo alcuni byte o possibilmente nessuno. Un canale socket in modalità non di blocco, ad esempio, non può scrivere più byte di quanto non siano disponibili nel buffer di output del socket.
Questo metodo può essere richiamato in qualsiasi momento. Se un altro thread ha già avviato un'operazione di scrittura su questo canale, tuttavia, una chiamata di questo metodo verrà bloccata fino al completamento della prima operazione.
per java.nio.channels.WritableByteChannel.write(java.nio.ByteBuffer).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Write(ByteBuffer[])
Scrive una sequenza di byte in questo canale dai buffer specificati.
[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
Parametri
- srcs
- ByteBuffer[]
Buffer da cui recuperare i byte
Valori restituiti
Numero di byte scritti, possibilmente zero
Implementazioni
- Attributi
Commenti
Scrive una sequenza di byte in questo canale dai buffer specificati.
Una chiamata di questo metodo del form c.write(srcs) si comporta esattamente come la chiamata
<blockquote>
c.write(srcs, 0, srcs.length);
</blockquote>
per java.nio.channels.GatheringByteChannel.write(java.nio.ByteBuffer[]).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Write(ByteBuffer[], Int32, Int32)
Scrive una sequenza di byte in questo canale da una sottosequenza dei buffer specificati.
[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
Parametri
- srcs
- ByteBuffer[]
Buffer da cui recuperare i byte
- offset
- Int32
Offset all'interno della matrice di buffer del primo buffer da cui recuperare i byte; deve essere non negativo e non maggiore di srcs.length
- length
- Int32
Numero massimo di buffer a cui accedere; deve essere non negativo e non superiore a srcs.length - offset
Valori restituiti
Numero di byte scritti, possibilmente zero
Implementazioni
- Attributi
Commenti
Scrive una sequenza di byte in questo canale da una sottosequenza dei buffer specificati.
Viene effettuato un tentativo di scrivere fino a r byte in questo canale, dove r è il numero totale di byte rimanenti nella sottosequenza specificata della matrice di buffer specificata, ovvero
<blockquote>
srcs[offset].remaining()
+ srcs[offset+1].remaining()
+ ... + srcs[offset+length-1].remaining()
</blockquote>
al momento in cui questo metodo viene richiamato.
Si supponga che venga scritta una sequenza di byte di lunghezza n , dove 0 <= n <= r. Fino ai primi srcs[offset].remaining() byte di questa sequenza vengono scritti dal buffer srcs[offset], fino ai byte successivi srcs[offset+1].remaining() vengono scritti dal buffer srcs[offset+1]e così via, fino a quando non viene scritta l'intera sequenza di byte. Il maggior numero possibile di byte vengono scritti da ogni buffer, quindi la posizione finale di ogni buffer aggiornato, ad eccezione dell'ultimo buffer aggiornato, è garantito che sia uguale al limite del buffer.
Se non diversamente specificato, un'operazione di scrittura restituirà solo dopo la scrittura di tutti i byte richiesti. Alcuni tipi di canali, a seconda del relativo stato, possono scrivere solo alcuni byte o possibilmente nessuno. Un canale socket in modalità non di blocco, ad esempio, non può scrivere più byte di quanto non siano disponibili nel buffer di output del socket.
Questo metodo può essere richiamato in qualsiasi momento. Se un altro thread ha già avviato un'operazione di scrittura su questo canale, tuttavia, una chiamata di questo metodo verrà bloccata fino al completamento della prima operazione.
per java.nio.channels.GatheringByteChannel.write(java.nio.ByteBuffer[], int, int).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.