C # - I / O di file
UN fileè una raccolta di dati archiviati in un disco con un nome specifico e un percorso di directory. Quando un file viene aperto per la lettura o la scrittura, diventa un filestream.
Il flusso è fondamentalmente la sequenza di byte che passano attraverso il percorso di comunicazione. Ci sono due flussi principali: ilinput stream e il output stream. Il input stream viene utilizzato per leggere i dati dal file (operazione di lettura) e il file output stream viene utilizzato per scrivere nel file (operazione di scrittura).
Classi di I / O C #
Lo spazio dei nomi System.IO ha varie classi che vengono utilizzate per eseguire numerose operazioni con i file, come la creazione e l'eliminazione di file, la lettura o la scrittura su un file, la chiusura di un file ecc.
La tabella seguente mostra alcune classi non astratte di uso comune nello spazio dei nomi System.IO -
Sr.No. | Classe e descrizione I / O |
---|---|
1 | BinaryReader Legge i dati primitivi da un flusso binario. |
2 | BinaryWriter Scrive dati primitivi in formato binario. |
3 | BufferedStream Una memoria temporanea per un flusso di byte. |
4 | Directory Aiuta a manipolare una struttura di directory. |
5 | DirectoryInfo Utilizzato per eseguire operazioni sulle directory. |
6 | DriveInfo Fornisce informazioni per le unità. |
7 | File Aiuta a manipolare i file. |
8 | FileInfo Utilizzato per eseguire operazioni sui file. |
9 | FileStream Utilizzato per leggere e scrivere in qualsiasi posizione in un file. |
10 | MemoryStream Utilizzato per l'accesso casuale ai dati in streaming archiviati in memoria. |
11 | Path Esegue operazioni sulle informazioni sul percorso. |
12 | StreamReader Utilizzato per leggere caratteri da un flusso di byte. |
13 | StreamWriter Viene utilizzato per scrivere caratteri in un flusso. |
14 | StringReader Viene utilizzato per la lettura da un buffer di stringa. |
15 | StringWriter Viene utilizzato per scrivere in un buffer di stringhe. |
La classe FileStream
Il FileStreamclass nello spazio dei nomi System.IO aiuta a leggere, scrivere e chiudere file. Questa classe deriva dalla classe astratta Stream.
Devi creare un file FileStreamoggetto per creare un nuovo file o aprire un file esistente. La sintassi per creare un fileFileStream l'oggetto è il seguente -
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>,
<FileAccess Enumerator>, <FileShare Enumerator>);
Ad esempio, creiamo un oggetto FileStream F per leggere un file denominato sample.txt as shown -
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
FileShare.Read);
Sr.No. | Parametro e descrizione |
---|---|
1 | FileMode Il FileModeenumerator definisce vari metodi per aprire i file. I membri dell'enumeratore FileMode sono:
|
2 | FileAccess FileAccess gli enumeratori hanno membri: Read, ReadWrite e Write. |
3 | FileShare FileShare gli enumeratori hanno i seguenti membri:
|
Esempio
Il seguente programma mostra l'uso di FileStream classe -
using System;
using System.IO;
namespace FileIOApplication {
class Program {
static void Main(string[] args) {
FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate,
FileAccess.ReadWrite);
for (int i = 1; i <= 20; i++) {
F.WriteByte((byte)i);
}
F.Position = 0;
for (int i = 0; i <= 20; i++) {
Console.Write(F.ReadByte() + " ");
}
F.Close();
Console.ReadKey();
}
}
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
Operazioni avanzate sui file in C #
L'esempio precedente fornisce semplici operazioni sui file in C #. Tuttavia, per utilizzare gli immensi poteri delle classi System.IO di C #, è necessario conoscere le proprietà ei metodi comunemente usati di queste classi.
Sr.No. | Argomento e descrizione |
---|---|
1 | Lettura da e scrittura in file di testo Implica la lettura e la scrittura in file di testo. IlStreamReader e StreamWriter la classe aiuta a realizzarlo. |
2 | Lettura da e scrittura in file binari Implica la lettura e la scrittura in file binari. IlBinaryReader e BinaryWriter la classe aiuta a raggiungere questo obiettivo. |
3 | Manipolazione del file system di Windows Fornisce a un programmatore C # la capacità di sfogliare e individuare file e directory di Windows. |