Fonctionnement du fichier C # Classe FileStream détaillée

La première chose à savoir est que la classe FileStream fonctionne sur des octets et des tableaux d'octets

Introduction aux constructeurs couramment utilisés

Le constructeur le plus simple n'a que deux paramètres, à savoir le nom de fichier et la valeur d'énumération FileMode

FileStream(fliename , FileMode.<Member>)

Un autre constructeur couramment utilisé a trois paramètres, le troisième paramètre est un membre de l'énumération FileAccess, qui spécifie le rôle du flux

FileStream(fliename , FileMode.<Member> ,FileAccess.<Member>)

Membres d'énumération FileMode:

Membre Le fichier existe Le fichier n'existe pas
Ajouter Ouvrez le fichier, le flux pointe vers la fin du fichier et ne peut être utilisé qu'en conjonction avec l'énumération FileAccess.Write Créez un nouveau fichier. Ne peut être utilisé qu'en conjonction avec l'énumération FileAccess.Write
Créer Supprimez le fichier, puis créez un nouveau fichier Créer un nouveau fichier
Créer un nouveau Lancer l'exception Créer un nouveau fichier
Ouvert Ouvrez le fichier, le flux pointe vers le début du fichier Lancer l'exception
OpenOrCreate Ouvrez le fichier, le flux pointe vers le début du fichier Créer un nouveau fichier
Tronquer Ouvrez le fichier et effacez son contenu. Le flux pointe vers le début du fichier, en conservant la date de création d'origine du fichier Lancer l'exception

Membres de l'énumération FileAccess:

Membre Explication
Lis Ouvrir le fichier en lecture seule
Écrire Ouvrir le fichier en écriture uniquement
Lire écrire Ouvrir le fichier pour lire et écrire

1. Emplacement du fichier

La classe FileStream gère un pointeur de fichier interne, qui pointe vers l'emplacement dans le fichier pour la prochaine opération de lecture et d'écriture. Dans la plupart des cas, lorsque vous ouvrez un fichier, il pointe vers le début du fichier, mais vous pouvez modifier ce pointeur, la méthode pour atteindre cette fonction est la méthode Seek ().

La méthode Seek () a deux paramètres: le premier paramètre spécifie la distance de déplacement du pointeur de fichier (en octets). Le deuxième paramètre spécifie la position de départ pour démarrer le calcul, exprimée en tant que valeur de l'énumération SeekOrigin. L'énumération SeekOrigin contient 3 valeurs: Begin, Current et End.

Par exemple:

FileStream file = File.OpenRead("config.txt");

file.Seek(6,SeekOrigin.Begin);//将文件指针移动到文件的第六个字节处,其起始位置就是文件的第一个字节

file.Seek(6,SeekOrigin.Current);//将指针从当前位置移动6个字节

file.Seek(-6,SeekOrigin.End);//将指针移动到文件的倒数第6个字节

2. Lisez les données

Utilisez la méthode Read (): lisez les données du fichier, puis écrivez les données dans un tableau d'octets.

Read () a trois paramètres: le premier paramètre est le tableau d'octets entrant, qui est utilisé pour stocker les données dans l'objet FileStream, le deuxième paramètre est la position dans le tableau d'octets pour commencer à écrire des données, généralement 0, le troisième Les paramètres spécifient le nombre d'octets à lire dans le fichier

FileStream file = new FileStream("home.txt",FileMode.Open);

byte[] byteData = new byte[1024];

file.Seek(10,SeekOrigin.Begin);

file.Read(byteData,0,1024);//从home.txt文件的第10个字节开始读取1024个字节写入byteData字节数组

3. Écrire des données

Utilisez la méthode Write (): lisez les données du tableau d'octets, puis écrivez les données dans le fichier.

Comme la méthode Read (), la méthode Write () a également trois paramètres

Dans l'exemple ci-dessus, 1024 octets ont été lus à partir du texte de home.txt dans le tableau d'octets byteData, et nous allons écrire les données de ce tableau dans un nouveau fichier

FileStream newFile = new FileStream("Temp.txt",FileModel.Create);

newFile.Seek(0,SeekOrigin.Begin);

newFile.Write(byteData,0,byteData.Length);//将byteData字节数组里的数据写入到Temp.txt文件中,从第0个字节位置开始

 

60 articles originaux publiés · 84 gagnés · 10 000+ vues

Je suppose que tu aimes

Origine blog.csdn.net/qq_38992372/article/details/105683930
conseillé
Classement