English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C# include le seguenti classi standard di IO (input/output) che possono essere lette / scritte da diverse sorgenti (ad esempio file, memoria, rete, archiviazione isolata ecc.).
Flusso (Stream): System.IO.Stream E'una classe astratta che fornisce metodi standard per trasmettere byte (lettura, scrittura ecc.) alla sorgente. Come le classi wrapper trasmette byte. Le classi che devono leggere / scrivere byte da una sorgente specifica devono implementare la classe Stream.
Le seguenti classi ereditano la classe Stream per fornire funzionalità di lettura/scrittura di byte da sorgenti specifiche:
FileStream:Legge o scrive byte da o verso un file fisico, indipendentemente dal fatto che sia .txt, .exe, .jpg o qualsiasi altro file. FileStream deriva dalla classe Stream.
MemoryStream: MemoryStream legge o scrive byte memorizzati in memoria.
BufferedStream: BufferedStream legge o scrive byte da o verso altri Stream, migliorando le prestazioni di alcune operazioni di I/O.
NetworkStream: NetworkStream legge o scrive byte da o verso socket di rete.
PipeStream: PipeStream legge o scrive byte da o verso diversi processi.
CryptoStream: CryptoStream utilizza dati di stream per collegare trasformazioni crittografiche.
La figura sottostante mostra la gerarchia delle classi di stream:
StreamReader:StreamReader è una classe di aiuto utilizzata per leggere caratteri da Stream convertendo byte in valori di codifica. Può essere utilizzato per leggere stringhe (caratteri) da diversi stream (ad esempio FileStream, MemoryStream, ecc.).
StreamWriter:StreamWriter è una classe di aiuto utilizzata per scrivere stringhe in Stream convertendo i caratteri in byte. Può essere utilizzato per scrivere stringhe in diversi stream, ad esempio FileStream, MemoryStream, ecc.
BinaryReader:BinaryReader è una classe di aiuto utilizzata per leggere dati di tipo originale da byte.
BinaryWriter:BinaryWriter scrive tipi originali in binario.
L'immagine sopra mostra che FileStream legge byte da un file fisico, poi StreamReader legge una stringa convertendo questi byte in una stringa. Allo stesso modo, StreamWriter prende una stringa e la converte in byte, poi scrive su FileStream, poi FileStream scrive i byte in un file fisico. Pertanto, FileStream gestisce i byte, mentre StreamReader e StreamWriter gestiscono le stringhe.
Stream è una classe astratta utilizzata per trasmettere byte da diverse sorgenti. È la classe base per tutte le altre classi, che leggono o scrivono byte da diverse sorgenti.
La classe FileStream fornisce funzionalità di lettura/scrittura di byte per file fisici.
La classe di lettura/scrittura fornisce la funzionalità di leggere byte da classi di stream (FileStream, MemoryStream, ecc.) e convertirli in una codifica appropriata.
StreamReader fornisce un metodo ausiliario per leggere una stringa dal FileStream convertendo i byte in una stringa. StreamWriter fornisce un metodo ausiliario che scrive una stringa nel FileStream convertendo la stringa in byte.
Scopri come leggere/scrivere il file system nella prossima parte.