logo

Hvordan lese og skrive en tekstfil i C#?

Avslutning av et program fører til sletting av alle data relatert til det. Derfor må vi lagre dataene et sted. Filer brukes til permanent lagring og deling av data. C# kan brukes til å hente og manipulere data lagret i tekstfiler.

Lese en tekstfil: Filklassen i C# definerer to statiske metoder for å lese en tekstfil, nemlig File.ReadAllText() og File.ReadAllLines() .



  • File.ReadAllText() leser hele filen samtidig og returnerer en streng. Vi må lagre denne strengen i en variabel og bruke den til å vise innholdet på skjermen.
  • File.ReadAllLines() leser en fil én linje om gangen og returnerer den linjen i strengformat. Vi trenger en rekke strenger for å lagre hver linje. Vi viser innholdet i filen ved å bruke samme strengmatrise.

Det er en annen måte å lese en fil på, og det er ved å bruke et StreamReader-objekt. StreamReader leser også en linje om gangen og returnerer en streng. Alle de ovennevnte måtene å lese en fil på er illustrert i eksempelkoden nedenfor.








// C# program to illustrate how> // to read a file in C#> using> System;> using> System.IO;> > class> Program {> >static> void> Main(>string>[] args)> >{> >// Store the path of the textfile in your system> >string> file =>@'M:DocumentsTextfile.txt'>;> > >Console.WriteLine(>'Reading File using File.ReadAllText()'>);> > >// To read the entire file at once> >if> (File.Exists(file)) {> >// Read all the content in one string> >// and display the string> >string> str = File.ReadAllText(file);> >Console.WriteLine(str);> >}> >Console.WriteLine();> > >Console.WriteLine(>'Reading File using File.ReadAllLines()'>);> > >// To read a text file line by line> >if> (File.Exists(file)) {> >// Store each line in array of strings> >string>[] lines = File.ReadAllLines(file);> > >foreach>(>string> ln>in> lines)> >Console.WriteLine(ln);> >}> >Console.WriteLine();> > >Console.WriteLine(>'Reading File using StreamReader'>);> > >// By using StreamReader> >if> (File.Exists(file)) {> >// Reads file line by line> >StreamReader Textfile =>new> StreamReader(file);> >string> line;> > >while> ((line = Textfile.ReadLine()) !=>null>) {> >Console.WriteLine(line);> >}> > >Textfile.Close();> > >Console.ReadKey();> >}> >Console.WriteLine();> >}> }>

>

>

For å kjøre dette programmet, lagre filen med .cs utvidelse og deretter kan utføres ved hjelp av csc filnavn.cs kommando på cmd. Eller du kan bruke Visual Studio . Her har vi en tekstfil som heter som Tekstfil.txt som har innholdet vist i utdataene.

Produksjon:

lese tekstfil i C#

Skrive en tekstfil: Filklassen i C# definerer to statiske metoder for å skrive en tekstfil, nemlig File.WriteAllText() og File.WriteAllLines() .

  • File.WriteAllText() skriver hele filen samtidig. Det krever to argumenter, banen til filen og teksten som skal skrives.
  • File.WriteAllLines() skriver en fil én linje om gangen. Det tar to argumenter, banen til filen og teksten som skal skrives, som er en strengmatrise.

Det er en annen måte å skrive til en fil på, og det er ved å bruke et StreamWriter-objekt. StreamWriter skriver også en linje om gangen. Alle de tre skrivemetodene oppretter en ny fil hvis filen ikke eksisterer, men hvis filen allerede er til stede på det angitte stedet, blir den overskrevet. Alle de ovennevnte måtene å skrive til en tekstfil er illustrert i eksempelkoden nedenfor.




// C# program to illustrate how> // to write a file in C#> using> System;> using> System.IO;> > class> Program {> >static> void> Main(>string>[] args)> >{> >// Store the path of the textfile in your system> >string> file =>@'M:DocumentsTextfile.txt'>;> > >// To write all of the text to the file> >string> text =>'This is some text.'>;> >File.WriteAllText(file, text);> > >// To display current contents of the file> >Console.WriteLine(File.ReadAllText(file));> >Console.WriteLine();> > >// To write text to file line by line> >string>[] textLines1 = {>'This is the first line'>,> >'This is the second line'>,> >'This is the third line'> };> > >File.WriteAllLines(file, textLines1);> > >// To display current contents of the file> >Console.WriteLine(File.ReadAllText(file));> > >// To write to a file using StreamWriter> >// Writes line by line> >string>[] textLines2 = {>'This is the new first line'>,> >'This is the new second line'> };> > >using>(StreamWriter writer =>new> StreamWriter(file))> >{> >foreach>(>string> ln>in> textLines2)> >{> >writer.WriteLine(ln);> >}> >}> >// To display current contents of the file> >Console.WriteLine(File.ReadAllText(file));> > >Console.ReadKey();> >}> }>

>

>

For å kjøre dette programmet, lagre filen med .cs utvidelse og deretter kan utføres ved hjelp av csc filnavn.cs kommando på cmd. Eller du kan bruke Visual Studio .

hvordan finne skjermstørrelsen

Produksjon:

skrive en fil i C#

I tilfelle du vil legge til mer tekst til en eksisterende fil uten å overskrive dataene som allerede er lagret i den, kan du bruke tilleggsmetodene som tilbys av File-klassen til System.IO.




using> System;> using> System.IO;> > class> Program {> >static> void> Main(>string>[] args)> >{> >// Store the path of the textfile in your system> >string> file =>@'M:DocumentsTextfile.txt'>;> > >// To write all of the text to the file> >string> text1 =>'This is some text.'>;> >File.WriteAllText(file, text1);> > >// To append text to a file> >string> text2 =>'This is text to be appended'>;> >File.AppendAllText(file, text2);> > >// To display current contents of the file> >Console.WriteLine(File.ReadAllText(file));> >Console.ReadKey();> >}> }>

>

>

Produksjon:

legge til tekst i en fil i C#