Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C# - Bestand I/O

Een bestand is een verzameling gegevens die zijn opgeslagen op een schijf met een specifieke naam en een mappad. Wanneer een bestand wordt geopend om te lezen of te schrijven, wordt het een stream .

De stream is in feite de reeks bytes die door het communicatiepad gaat. Er zijn twee hoofdstromen:de invoerstroom en de uitvoerstroom . De invoerstroom wordt gebruikt voor het lezen van gegevens uit bestand (leesbewerking) en de uitvoerstroom wordt gebruikt om naar het bestand te schrijven (schrijfbewerking).

C# I/O-klassen

De System.IO-naamruimte heeft verschillende klassen die worden gebruikt voor het uitvoeren van talloze bewerkingen met bestanden, zoals het maken en verwijderen van bestanden, lezen van of schrijven naar een bestand, sluiten van een bestand enz.

De volgende tabel toont enkele veelgebruikte niet-abstracte klassen in de System.IO-naamruimte −

Sr.nr. I/O-klasse en beschrijving
1

BinaryReader

Leest primitieve gegevens uit een binaire stroom.

2

BinaryWriter

Schrijft primitieve gegevens in binair formaat.

3

BufferedStream

Een tijdelijke opslag voor een stroom van bytes.

4

Directory

Helpt bij het manipuleren van een directorystructuur.

5

DirectoryInfo

Gebruikt voor het uitvoeren van bewerkingen op mappen.

6

DriveInfo

Biedt informatie voor de schijven.

7

Bestand

Helpt bij het manipuleren van bestanden.

8

Bestandsinfo

Gebruikt voor het uitvoeren van bewerkingen op bestanden.

9

FileStream

Wordt gebruikt om te lezen van en te schrijven naar elke locatie in een bestand.

10

MemoryStream

Gebruikt voor willekeurige toegang tot gestreamde gegevens die in het geheugen zijn opgeslagen.

11

Pad

Voert bewerkingen uit op padinformatie.

12

StreamReader

Gebruikt voor het lezen van tekens uit een bytestroom.

13

StreamWriter

Wordt gebruikt voor het schrijven van karakters naar een stream.

14

StringReader

Wordt gebruikt voor het lezen van een stringbuffer.

15

StringWriter

Wordt gebruikt om naar een stringbuffer te schrijven.

De FileStream-klasse

De FileStream class in de System.IO-naamruimte helpt bij het lezen van, schrijven naar en sluiten van bestanden. Deze klasse is afgeleid van de abstracte klasse Stream.

U moet een FileStream . maken object om een ​​nieuw bestand aan te maken of een bestaand bestand te openen. De syntaxis voor het maken van een FileStream object is als volgt −

FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>,
   <FileAccess Enumerator>, <FileShare Enumerator>);

We maken bijvoorbeeld een FileStream-object F voor het lezen van een bestand met de naam sample.txt zoals weergegeven

FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
   FileShare.Read);
Sr.nr. Parameter en beschrijving
1

Bestandsmodus

De Bestandsmodus enumerator definieert verschillende methoden voor het openen van bestanden. De leden van de FileMode-enumerator zijn −

  • Toevoegen − Het opent een bestaand bestand en plaatst de cursor aan het einde van het bestand, of maakt het bestand aan als het bestand niet bestaat.

  • Maken − Het maakt een nieuw bestand aan.

  • Nieuw maken − Het geeft aan het besturingssysteem aan dat het een nieuw bestand moet maken.

  • Open − Het opent een bestaand bestand.

  • OpenOrCreate − Het specificeert aan het besturingssysteem dat het een bestand moet openen als het bestaat, anders moet het een nieuw bestand maken.

  • Afkappen − Het opent een bestaand bestand en verkort de grootte tot nul bytes.

2

Bestandstoegang

Bestandstoegang tellers hebben leden:Lees , ReadWrite en Schrijf .

3

FileShare

FileShare tellers hebben de volgende leden −

  • Overerfbaar − Het staat een bestandshandle toe om overerving door te geven aan de onderliggende processen

  • Geen − Het weigert het huidige bestand te delen

  • Lees − Hiermee kan het bestand worden geopend om in te lezen.

  • ReadWrite − Hiermee kan het bestand worden geopend om te lezen en te schrijven

  • Schrijf − Hiermee kan het bestand worden geopend om te schrijven

Voorbeeld

Het volgende programma demonstreert het gebruik van de FileStream klasse −

Live demo
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();
      }
   }
}

Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, levert dit het volgende resultaat op −

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1

Geavanceerde bestandsbewerkingen in C#

Het voorgaande voorbeeld biedt eenvoudige bestandsbewerkingen in C#. Om echter gebruik te kunnen maken van de enorme mogelijkheden van C# System.IO-klassen, moet u de veelgebruikte eigenschappen en methoden van deze klassen kennen.

Sr.nr. Onderwerp en beschrijving
1 Lezen van en schrijven naar tekstbestanden

Het gaat om het lezen van en schrijven in tekstbestanden. De StreamReader en StreamWriter klas helpt om het te bereiken.

2 Lezen van en schrijven naar binaire bestanden

Het gaat om het lezen van en schrijven naar binaire bestanden. De BinaryReader en BinaryWriter klas helpt om dit te bereiken.

3 Het Windows-bestandssysteem manipuleren

Het geeft een C#-programmeur de mogelijkheid om door Windows-bestanden en -mappen te bladeren en deze te lokaliseren.


C Taal

  1. Titanium
  2. Castanets
  3. Lijm
  4. Tin
  5. C Ingang Uitgang (I/O)
  6. C Bestandsverwerking
  7. Python-bestand I/O
  8. C - Bestand I/O
  9. C - Koptekstbestanden
  10. Python - Bestanden I/O
  11. Hulpprogramma's voor archiveren begrijpen