Condividi tramite


FileStream.Write Metodo

Definizione

Overload

Write(ReadOnlySpan<Byte>)

Scrive una sequenza di byte da un intervallo di sola lettura nel flusso di file corrente e sposta in avanti la posizione nel flusso di file in base al numero di byte scritti.

Write(Byte[], Int32, Int32)

Scrive un blocco di byte nel flusso di file.

Write(ReadOnlySpan<Byte>)

Origine:
FileStream.cs
Origine:
FileStream.cs
Origine:
FileStream.cs

Scrive una sequenza di byte da un intervallo di sola lettura nel flusso di file corrente e sposta in avanti la posizione nel flusso di file 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 questa area nel flusso di file corrente.

Eccezioni

.NET 8 e versioni successive: la pipe sottostante è chiusa o disconnessa.

Commenti

Utilizzare la CanWrite proprietà per determinare se l'istanza corrente supporta la scrittura. Usare il WriteAsync metodo per scrivere in modo asincrono nel flusso corrente.

Se l'operazione di scrittura ha esito positivo, la posizione all'interno del flusso di file avanza in base al numero di byte scritti. Se si verifica un'eccezione, la posizione all'interno del flusso di file rimane invariata.

Si applica a

Write(Byte[], Int32, Int32)

Origine:
FileStream.cs
Origine:
FileStream.cs
Origine:
FileStream.cs

Scrive un blocco di byte nel flusso di file.

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[]

Buffer contenente i dati da scrivere nel flusso.

offset
Int32

Offset dei byte in base zero in array da cui iniziare la copia dei byte nel flusso.

count
Int32

Numero massimo di byte da scrivere.

Eccezioni

array è null.

offset e count descrivono un intervallo non valido in array.

offset o count è negativo.

Si è verificato un errore di I/O.

-oppure-

Un altro thread può aver causato una modifica imprevista nella posizione dell'handle di file del sistema operativo.

-oppure-

.NET 8 e versioni successive: la pipe sottostante è chiusa o disconnessa.

Il flusso è chiuso.

L'istanza del flusso corrente non supporta la scrittura.

Esempio

Questo esempio di codice fa parte di un esempio più ampio fornito per il Lock metodo .

// Write the original file data.
if ( fileStream->Length == 0 )
{
   tempString = String::Concat( lastRecordText, recordNumber.ToString() );
   fileStream->Write( uniEncoding->GetBytes( tempString ), 0, uniEncoding->GetByteCount( tempString ) );
}
// Write the original file data.
if(fileStream.Length == 0)
{
    tempString =
        lastRecordText + recordNumber.ToString();
    fileStream.Write(uniEncoding.GetBytes(tempString),
        0, uniEncoding.GetByteCount(tempString));
}
// Write the original file data.
if fileStream.Length = 0 then
    let tempString = lastRecordText + string recordNumber
    fileStream.Write(uniEncoding.GetBytes tempString, 0, uniEncoding.GetByteCount tempString)
' Write the original file data.
If aFileStream.Length = 0 Then
    tempString = _
        lastRecordText + recordNumber.ToString()
    aFileStream.Write(uniEncoding.GetBytes(tempString), _
        0, uniEncoding.GetByteCount(tempString))
End If

Commenti

Questo metodo esegue l'override di Write.

Il offset parametro restituisce l'offset del byte in array (indice del buffer) in corrispondenza del quale iniziare la copia e il count parametro restituisce il numero di byte che verranno scritti nel flusso. Se l'operazione di scrittura ha esito positivo, la posizione corrente del flusso viene avanzata dal numero di byte scritti. Se si verifica un'eccezione, la posizione corrente del flusso rimane invariata.

Nota

Utilizzare la CanWrite proprietà per determinare se l'istanza corrente supporta la scrittura. Per altre informazioni, vedere CanWrite.

Non interrompere un thread che esegue un'operazione di scrittura. Anche se l'applicazione potrebbe sembrare eseguita correttamente dopo che il thread è stato sbloccato, l'interruzione può ridurre le prestazioni e l'affidabilità dell'applicazione.

Per un elenco delle operazioni comuni relative a file e directory, vedere Attività di I/O comuni.

Vedi anche

Si applica a