logo

Hvordan man læser og skriver en tekstfil i C#?

Afslutning af et program fører til sletning af alle data relateret til det. Derfor skal vi gemme dataene et sted. Filer bruges til permanent lagring og deling af data. C# kan bruges til at hente og manipulere data gemt i tekstfiler.

Læsning af en tekstfil: Filklassen i C# definerer to statiske metoder til at læse en tekstfil, nemlig File.ReadAllText() og File.ReadAllLines() .



  • File.ReadAllText() læser hele filen på én gang og returnerer en streng. Vi skal gemme denne streng i en variabel og bruge den til at vise indholdet på skærmen.
  • File.ReadAllLines() læser en fil en linje ad gangen og returnerer den linje i strengformat. Vi har brug for en række strenge til at gemme hver linje. Vi viser indholdet af filen ved hjælp af den samme strengmatrix.

Der er en anden måde at læse en fil på, og det er ved at bruge et StreamReader-objekt. StreamReader læser også en linje ad gangen og returnerer en streng. Alle de ovennævnte måder at læse en fil på er illustreret 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 at køre dette program skal du gemme filen med .cs udvidelse og kan derefter udføres ved hjælp af csc filnavn.cs kommando på cmd. Eller du kan bruge Visual Studio. Her har vi en tekstfil med navnet som Tekstfil.txt som har indholdet vist i outputtet.

Produktion:

læse tekstfil i C#

At skrive en tekstfil: Filklassen i C# definerer to statiske metoder til at skrive en tekstfil, nemlig File.WriteAllText() og File.WriteAllLines() .

  • File.WriteAllText() skriver hele filen på én gang. Det kræver to argumenter, stien til filen og den tekst, der skal skrives.
  • File.WriteAllLines() skriver en fil én linje ad gangen. Det kræver to argumenter, stien til filen og den tekst, der skal skrives, som er en string-array.

Der er en anden måde at skrive til en fil på, og det er ved at bruge et StreamWriter-objekt. StreamWriteren skriver også en linje ad gangen. Alle de tre skrivemetoder opretter en ny fil, hvis filen ikke findes, men hvis filen allerede findes på den angivne placering, overskrives den. Alle de ovennævnte måder at skrive til en tekstfil på er illustreret 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 at køre dette program skal du gemme filen med .cs udvidelse og kan derefter udføres ved hjælp af csc filnavn.cs kommando på cmd. Eller du kan bruge Visual Studio.

hvordan man finder skærmstørrelse

Produktion:

skrive en fil i C#

I tilfælde af at du ønsker at tilføje mere tekst til en eksisterende fil uden at overskrive de data, der allerede er gemt i den, kan du bruge de tilføjelsesmetoder, der leveres af File-klassen i 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();> >}> }>

>

>

Produktion:

tilføje tekst i en fil i C#