c filestream streamwriter
In deze zelfstudie leert u over System.IO, een C # -naamruimte. Deze naamruimte biedt C # -klassen zoals FileStream, StreamWriter, StreamReader om bestands-I / O af te handelen:
verschil tussen hertesten en regressietesten
Een bestand is in feite een systeemobject dat is opgeslagen in het geheugen in een bepaalde map met een juiste naam en extensie. In C # noemen we een bestand als stream als we het gebruiken voor het schrijven of lezen van gegevens.
In deze zelfstudie zullen we zowel de invoerstroom bekijken die wordt gebruikt om gegevens uit een bepaald bestand op te halen als de uitvoerstroom die wordt gebruikt om gegevens in een bestand te plaatsen.
Kijk hier voor onze ultieme C # trainingsgids
Wat je leert:
System.IO Naamruimte
System.IO is een naamruimte die aanwezig is in de C # en die klassen bevat die kunnen worden gebruikt voor het uitvoeren van verschillende bewerkingen op een bepaalde stroom, zoals het maken, bewerken en ophalen van gegevens uit een bepaald bestand.
Laten we eens kijken naar enkele van deze klassen.
C # FileStream
Bestandsstroom biedt een pad voor het uitvoeren van bestandsbewerkingen. Het wordt voornamelijk gebruikt voor het lezen van en schrijven naar de bestanden.
Voorbeeld om naar een bestand te schrijven:
Hier hebben we een eenvoudig programma geschreven om gegevens van één byte naar het bestand te schrijven met behulp van bestandsstroom. In eerste instantie hebben we een FileStream-object gemaakt en de naam van het bestand doorgegeven. Vervolgens stellen we de bestandsmodus in om te openen of te maken. In het geopende bestand hebben we een enkele byte geschreven met WriteByte en uiteindelijk hebben we alles gesloten.
De uitvoer is een txt-bestand met een enkele byte.
Voorbeeld om een bestand te lezen
In ons vorige voorbeeld hebben we geleerd hoe we nu in een bestand kunnen schrijven, laten we proberen het bestand te lezen.
Hier hebben we ReadByte gebruikt om de byte uit het bestand te lezen. Dit commando wordt gebruikt om een enkele byte uit het bestand te lezen. Als u meer gegevens wilt lezen, moet u deze door een lus leiden. We hebben het vervolgens in een char-variabele opgeslagen, maar omdat het retourtype niet altijd overeenkomt met ReadByte, hebben we ook een cast voor char toegevoegd.
Als we dit programma uitvoeren, wordt de volgende uitvoer waargenomen.
Uitvoer
Bestand geopend
Gegevens die uit bestand worden gelezen, zijn: F
Bestandsstroom gesloten
C #StreamWriter
De klasse StreamWriter in C # wordt gebruikt om tekens naar een stream te schrijven. Het gebruikt de TextWriter-klasse als een basisklasse en biedt de overbelastingsmethoden voor het schrijven van gegevens naar een bestand.
De StreamWriter wordt voornamelijk gebruikt om meerdere karakters aan data in een bestand te schrijven.
Voorbeeld:
Nadat we het FileStream-object hadden geïnitialiseerd, hebben we ook het StreamWriter-object geïnitialiseerd met behulp van het FileStream-object. Vervolgens gebruikten we de WriteLine-methode om een enkele regel met gegevens in het bestand te schrijven. We hebben toen de StreamWriter en vervolgens de FileStream gesloten.
De uitvoer van de volgende code is een bestand met daarin geschreven gebruikersgegevens.
welk type test wordt gebruikt om te verifiëren dat het nieuwe systeem werkt met actuele gegevens?
Uitvoer
C #StreamReader
De StreamReader wordt gebruikt om tekenreeksen of grote zinnen uit een bestand te lezen. De StreamReader gebruikt ook de TextReader-klasse als zijn basisklasse en biedt vervolgens methoden zoals Reading en ReadLine om gegevens uit de stream te lezen.
Voorbeeld van gegevens lezen:
Hier hebben we een object gemaakt van de StreamReader met behulp van de FileStream. Vervolgens gebruikten we een eenvoudige readline-methode om gegevens uit het bestand te lezen. We sloten de StreamReader en vervolgens de FileStream.
Het bovenstaande programma leverde de volgende output op:
Uitgang:
Bestand geopend
Gegevens uit het bestand lezen
De gegevens van het bestand zijn: Gegevens schrijven naar een bestand met behulp van streamwriter
Bestandsstroom gesloten
c ++ ongedefinieerde verwijzing naar functie
C #TextWriter
In C # wordt de klasse TextWriter geschreven als een abstracte klasse. Het wordt gebruikt om een opeenvolgende reeks tekens in een bestand te maken. Het lijkt veel op de streamwriter die de gebruiker ook in staat stelt om opeenvolgende tekens of tekst in een bestand te schrijven, maar het vereist geen FileStream-creatie voor de bewerking.
Voorbeeld om te weten hoe TextWriter werkt:
De bovenstaande code werkt vergelijkbaar met de StreamWriter. De WriteLine-methode schrijft de gegevens in het bestand. U kunt meerdere gegevens in het bestand schrijven door meerdere WriteLine-methoden te gebruiken in het instructieblok met behulp van.
De uitvoer zal een tekstbestand maken met de door de gebruiker gedefinieerde tekst.
Uitgang:
C #TextReader
Tekstlezer is een andere klasse die wordt gevonden in System.IO. Het wordt gebruikt om tekst of een willekeurig teken uit een bepaald bestand te lezen.
Voorbeeld:
In het bovenstaande programma hebben we TextReader gebruikt om een bestand te openen dat op een bepaalde locatie wordt bewaard. Vervolgens hebben we een stringvariabele gedeclareerd om de gegevens van het bestand op te slaan. De ReadToEnd-methode zorgt ervoor dat alle gegevens in het bestand zijn gelezen. Daarna hebben we de gegevens naar de console afgedrukt.
De output van het bovenstaande programma zal zijn:
De eerste regel met tekstschrijver
Gevolgtrekking
De System.IO-naamruimte in C # biedt verschillende klassen en methoden waarmee programmeurs lees- en schrijfbewerkingen op verschillende bestanden kunnen uitvoeren. System.IO bevat verschillende klassen zoals FileStream, StreamReader, StreamWriter, TextReader, TextWriter etc.
Al deze klassen bieden een specifieke implementatie voor de lees- en schrijfbewerkingen op het bestand, afhankelijk van de vereiste.
Code Voorbeeld
Bekijk hier de volledige C #-trainingsserie
Aanbevolen literatuur
- Bestandsmanipulatie in Unix: overzicht van Unix-bestandssysteem
- Unix speciale tekens of metatekens voor bestandsmanipulatie
- Toegangsrechten voor Unix-bestanden: Unix Chmod, Chown en Chgrp
- VBScript-bestandsobjecten: CopyFile, DeleteFile, OpenTextFile, Read en Write Text File
- Bestandsinvoer-uitvoerbewerkingen in C ++
- Java-implementatie: creatie en uitvoering van Java JAR-bestand
- Hoe twee bestanden in Unix te vergelijken: opdrachten voor bestandsvergelijking
- Geavanceerde Unix Shell Scripting: arrays, bestands- en stringtestoperatoren, speciale variabelen