BufferedStream.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
Write(ReadOnlySpan<Byte>) |
Scrive una sequenza di byte nel flusso memorizzato nel buffer corrente e sposta in avanti la posizione nel flusso in base al numero di byte scritti. |
Write(Byte[], Int32, Int32) |
Copia i byte nel flusso memorizzato nel buffer e sposta la posizione corrente, all'interno del flusso memorizzato nel buffer, in base al numero di byte scritto. |
Write(ReadOnlySpan<Byte>)
- Origine:
- BufferedStream.cs
- Origine:
- BufferedStream.cs
- Origine:
- BufferedStream.cs
Scrive una sequenza di byte nel flusso memorizzato nel buffer corrente e sposta in avanti la posizione nel flusso in base al numero di byte scritti.
public:
override void Write(ReadOnlySpan<System::Byte> buffer);
public override void Write (ReadOnlySpan<byte> buffer);
override this.Write : ReadOnlySpan<byte> -> unit
Public Overrides Sub Write (buffer As ReadOnlySpan(Of Byte))
Parametri
- buffer
- ReadOnlySpan<Byte>
Un'area di memoria. Questo metodo copia il contenuto di quest'area nel flusso memorizzato nel buffer corrente.
Commenti
Utilizzare la proprietà per determinare se l'istanza corrente supporta la CanWrite scrittura. Usare il WriteAsync metodo per scrivere in modo asincrono nel flusso con buffer corrente.
Se l'operazione di scrittura ha esito positivo, la posizione all'interno del flusso memorizzato nel buffer avanza in base al numero di byte scritti. Se si verifica un'eccezione, la posizione all'interno del flusso memorizzato nel buffer rimane invariata.
Si applica a
Write(Byte[], Int32, Int32)
- Origine:
- BufferedStream.cs
- Origine:
- BufferedStream.cs
- Origine:
- BufferedStream.cs
Copia i byte nel flusso memorizzato nel buffer e sposta la posizione corrente, all'interno del flusso memorizzato nel buffer, in base al numero di byte scritto.
public:
override void Write(cli::array <System::Byte> ^ array, int offset, int count);
public:
override void Write(cli::array <System::Byte> ^ buffer, int offset, int count);
public override void Write (byte[] array, int offset, int count);
public override void Write (byte[] buffer, int offset, int count);
override this.Write : byte[] * int * int -> unit
override this.Write : byte[] * int * int -> unit
Public Overrides Sub Write (array As Byte(), offset As Integer, count As Integer)
Public Overrides Sub Write (buffer As Byte(), offset As Integer, count As Integer)
Parametri
- arraybuffer
- Byte[]
Matrice di byte da cui copiare i byte di count
nel flusso corrente memorizzato nel buffer.
- offset
- Int32
Offset nel buffer da cui avviare la copia dei byte nel flusso corrente memorizzato nel buffer.
- count
- Int32
Numero di byte da scrivere nel flusso corrente memorizzato nel buffer.
Eccezioni
La lunghezza di array
meno offset
è minore di count
.
array
è null
.
offset
o count
è negativo.
Il flusso è chiuso o null
.
Il flusso non supporta la scrittura.
Sono stati chiamati dei metodi dopo la chiusura del flusso.
Esempio
Questo esempio di codice fa parte di un esempio più grande fornito per la BufferedStream classe.
// Send the data using the BufferedStream.
Console::WriteLine( "Sending data using BufferedStream." );
startTime = DateTime::Now;
for ( int i = 0; i < numberOfLoops; i++ )
{
bufStream->Write( dataToSend, 0, dataToSend->Length );
}
bufStream->Flush();
bufferedTime = (DateTime::Now - startTime).TotalSeconds;
Console::WriteLine( "{0} bytes sent in {1} seconds.\n", (numberOfLoops * dataToSend->Length).ToString(), bufferedTime.ToString( "F1" ) );
// Send the data using the BufferedStream.
Console.WriteLine("Sending data using BufferedStream.");
startTime = DateTime.Now;
for(int i = 0; i < numberOfLoops; i++)
{
bufStream.Write(dataToSend, 0, dataToSend.Length);
}
bufStream.Flush();
bufferedTime = (DateTime.Now - startTime).TotalSeconds;
Console.WriteLine("{0} bytes sent in {1} seconds.\n",
numberOfLoops * dataToSend.Length,
bufferedTime.ToString("F1"));
// Send the data using the BufferedStream.
printfn "Sending data using BufferedStream."
let startTime = DateTime.Now
for _ = 0 to numberOfLoops - 1 do
bufStream.Write(dataToSend, 0, dataToSend.Length)
bufStream.Flush()
let bufferedTime = (DateTime.Now - startTime).TotalSeconds
printfn $"{numberOfLoops * dataToSend.Length} bytes sent in {bufferedTime:F1} seconds.\n"
' Send the data using the BufferedStream.
Console.WriteLine("Sending data using BufferedStream.")
startTime = DateTime.Now
For i As Integer = 1 To numberOfLoops
bufStream.Write(dataToSend, 0, dataToSend.Length)
Next i
bufStream.Flush()
bufferedTime = DateTime.Now.Subtract(startTime).TotalSeconds
Console.WriteLine("{0} bytes sent In {1} seconds." & vbCrLf, _
numberOfLoops * dataToSend.Length, _
bufferedTime.ToString("F1"))
Vedi anche
- CanWrite
- Read(Byte[], Int32, Int32)
- File e Stream I/O
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file