Как читать и писать текстовый файл на C #?
Завершение программы приводит к удалению всех связанных с ней данных. Следовательно, нам нужно где-то хранить данные. Файлы используются для постоянного хранения и обмена данными. C # можно использовать для извлечения данных, хранящихся в текстовых файлах, и управления ими.
Чтение текстового файла: класс файла в C # определяет два статических метода для чтения текстового файла, а именно File.ReadAllText () и File.ReadAllLines () .
- File.ReadAllText () считывает сразу весь файл и возвращает строку. Нам нужно сохранить эту строку в переменной и использовать ее для отображения содержимого на экране.
- File.ReadAllLines () читает файл по одной строке за раз и возвращает эту строку в строковом формате. Нам нужен массив строк для хранения каждой строки. Мы отображаем содержимое файла, используя тот же массив строк.
There is another way to read a file and that is by using a StreamReader object. The StreamReader also reads one line at a time and returns a string. All of the above-mentioned ways to read a file are illustrated in the example code given below.
// 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(); } } |
Чтобы запустить эту программу, сохраните файл с расширением .cs, а затем выполните его с помощью команды csc filename.cs в cmd. Или вы можете использовать Visual Studio. Здесь у нас есть текстовый файл с именем Textfile.txt , содержимое которого отображается на выходе.
Выход:
Запись текстового файла: класс File в C # определяет два статических метода для записи текстового файла, а именно File.WriteAllText () и File.WriteAllLines () .
- File.WriteAllText () записывает сразу весь файл. Он принимает два аргумента: путь к файлу и текст, который необходимо записать.
- File.WriteAllLines () записывает файл по одной строке за раз. Он принимает два аргумента: путь к файлу и текст, который должен быть записан, который представляет собой массив строк.
There is another way to write to a file and that is by using a StreamWriter object. The StreamWriter also writes one line at a time. All of the three writing methods create a new file if the file doesn’t exist, but if the file is already present in that specified location then it is overwritten. All of the above-mentioned ways to write to a text file are illustrated in the example code given below.
// 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(); } } |
Чтобы запустить эту программу, сохраните файл с расширением .cs, а затем выполните его с помощью команды csc filename.cs в cmd. Или вы можете использовать Visual Studio.
Выход:
In case you want to add more text to an existing file without overwriting the data already stored in it, you can use the append methods provided by the File class of 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(); } } |
Выход: