Pipe.SinkChannel.Write Metodo

Definizione

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.

Si applica a