FileStream.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 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.