c filestream streamwriter
У цьому посібнику ви дізнаєтесь про System.IO, який є простором імен C #. Цей простір імен забезпечує класи C #, такі як FileStream, StreamWriter, StreamReader для обробки файлових операцій вводу-виводу:
що таке план тестування в qa
Файл - це, в основному, системний об'єкт, що зберігається в пам'яті в певному даному каталозі з власним ім'ям і розширенням. У C # ми називаємо файл потоком, якщо використовуємо його для запису або читання даних.
У цьому підручнику ми розглянемо як вхідний потік, який використовується для отримання даних із даного файлу, так і вихідний потік, який використовується для введення даних у файл.
=> Ознайомтесь з нашим остаточним посібником з навчання C # тут
Що ви дізнаєтесь:
System.IO Простір імен
System.IO - це простір імен, присутній у C #, який містить класи, які можна використовувати для виконання різних операцій із заданим потоком, таких як створення, редагування та отримання даних із даного файлу.
Давайте розглянемо деякі з цих класів.
C # FileStream
Потік файлів пропонує шлях для виконання файлових операцій. Він в основному використовується для читання та запису даних у файли.
Приклад запису у файл:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); f.WriteByte(70); Console.WriteLine('Data written into file'); f.Close(); Console.WriteLine('File Stream closed'); } } }
Тут ми написали просту програму для запису однобайтових даних у файл за допомогою потоку файлів. Спочатку ми створили об’єкт FileStream і передали ім’я файлу. Потім ми встановлюємо режим відкриття або створення файлу. У відкритому файлі ми написали один байт за допомогою WriteByte і нарешті закрили все.
Результатом є текстовий файл з одним байтом.
Приклад читання файлу
У нашому попередньому прикладі ми дізналися, як писати у файл зараз, спробуємо прочитати файл.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); char a = (char)f.ReadByte(); Console.WriteLine('Data read from file is: '+a); f.Close(); Console.WriteLine('File Stream closed'); Console.ReadLine(); } } }
Тут ми використали ReadByte для читання байта з файлу. Ця команда використовується для зчитування одного байта з файлу. Якщо ви хочете прочитати більше даних, вам потрібно буде пропустити їх через цикл. Потім ми зберегли його у змінну char, але оскільки тип повернення не завжди збігається з ReadByte, ми також додали привід для char.
Якщо ми запускаємо цю програму, спостерігається наступний результат.
Вихідні дані
Файл відкрито
Дані, прочитані з файлу: F
Потік файлів закрито
C #StreamWriter
Клас StreamWriter у C # використовується для запису символів у потік. Він використовує клас TextWriter як базовий клас і забезпечує методи перевантаження для запису даних у файл.
StreamWriter в основному використовується для запису декількох символів даних у файл.
Приклад:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); //declared stream writer StreamWriter s = new StreamWriter(f); Console.WriteLine('Writing data to file'); s.WriteLine('Writing data into file using stream writer'); //closing stream writer s.Close(); f.Close(); Console.WriteLine('File Stream closed'); Console.ReadLine(); } } }
Після ініціалізації об’єкта FileStream ми також ініціалізували об’єкт StreamWriter за допомогою об’єкта FileStream. Потім ми використовували метод WriteLine для запису одного рядка даних у файл. Потім ми закрили StreamWriter, а потім FileStream.
Результатом роботи наступного коду буде файл із записаними в ньому даними користувача.
типи функцій c ++
Вихідні дані
C #StreamReader
StreamReader використовується для читання рядка або великих речень із файлу. StreamReader також використовує клас TextReader як базовий клас, а потім пропонує такі методи, як Reading і ReadLine для зчитування даних з потоку.
Приклад читання даних:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); //declared stream reader StreamReader sr = new StreamReader(f); Console.WriteLine('Reading data from the file'); string line = sr.ReadLine(); Console.WriteLine('The data from the file is : ' + line); //closing stream writer sr.Close(); f.Close(); Console.WriteLine('File Stream closed'); Console.ReadLine(); } } }
Тут ми створили об’єкт із StreamReader за допомогою FileStream. Потім ми використовували простий метод зчитування для зчитування даних із файлу. Ми закрили StreamReader, а потім FileStream.
Вищевказана програма дала такий результат:
Вихід:
Файл відкрито
Зчитування даних з файлу
Дані з файлу: Запис даних у файл за допомогою програми для запису потоків
Потік файлів закрито
перемикач голосу, який працює з розбіжностями
C #TextWriter
У C # клас TextWriter записаний як абстрактний клас. Застосовується для створення послідовної серії символів усередині файлу. Це дуже схоже на програвач потоків, який також дозволяє користувачеві писати послідовні символи або текст у файлі, але для цієї операції не потрібно створювати FileStream.
Приклад, щоб дізнатися, як працює TextWriter:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { using (TextWriter writer = File.CreateText('d:\textFile.txt')) { writer.WriteLine('The first line with text writer'); } Console.ReadLine(); } } }
Наведений вище код працює подібно до StreamWriter. Метод WriteLine записує дані всередину файлу. Ви можете записати декілька даних у файл, використовуючи кілька методів WriteLine всередині блоку операторів using.
На виході буде створений текстовий файл із визначеним користувачем текстом.
Вихід:
C #TextReader
Зчитувач тексту - це ще один клас, який можна знайти в System.IO. Застосовується для читання тексту або будь-якого послідовного символу з даного файлу.
Приклад:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { using (TextReader txtR = File.OpenText('d:\textFile.txt')) { String data = txtR.ReadToEnd(); Console.WriteLine(data); } Console.ReadLine(); } } }
У наведеній вище програмі ми використовували TextReader, щоб відкрити файл, який зберігається у певному місці. Потім ми оголосили рядкову змінну для зберігання даних файлу. Метод ReadToEnd гарантує, що всі дані всередині файлу були прочитані. Після цього ми надрукували дані на консолі.
Результатом роботи вищезазначеної програми буде:
Перший рядок із написанням тексту
Висновок
Простір імен System.IO всередині C # пропонує різні класи та методи, що дозволяють програмістам виконувати операції читання-запису над різними файлами. System.IO містить кілька класів, таких як FileStream, StreamReader, StreamWriter, TextReader, TextWriter тощо.
Усі ці класи забезпечують конкретну реалізацію для операцій зчитування запису у файлі залежно від вимоги.
Зразок коду
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); f.WriteByte(70); Console.WriteLine('Data written into file'); char a = (char)f.ReadByte(); Console.WriteLine('Data read from file is: ' + a); //declared stream writer StreamWriter s = new StreamWriter(f); Console.WriteLine('Writing data to file'); s.WriteLine('Writing data into file using stream writer'); //declared stream reader StreamReader sr = new StreamReader(f); Console.WriteLine('Reading data from the file'); string line = sr.ReadLine(); Console.WriteLine('The data from the file is : ' + line); //closing stream sr.Close(); f.Close(); Console.WriteLine('File Stream closed'); using (TextWriter writer = File.CreateText('d:\textFile.txt')) { writer.WriteLine('The first line with text writer'); } using (TextReader txtR = File.OpenText('d:\textFile.txt')) { String data = txtR.ReadToEnd(); Console.WriteLine(data); } Console.ReadLine(); } } }
=> Подивіться повну серію навчальних програм C # тут
Рекомендована література
- Маніпулювання файлами в Unix: огляд файлової системи Unix
- Спеціальні символи Unix або метасимволи для маніпулювання файлами
- Дозволи доступу до файлів Unix: Unix Chmod, Chown та Chgrp
- Об'єкти файлу VBScript: CopyFile, DeleteFile, OpenTextFile, читання та запис текстового файлу
- Операції виведення файлу на C ++
- Розгортання Java: створення та виконання файлу Java JAR
- Як порівняти два файли в Unix: команди порівняння файлів
- Розширений скрипт оболонки Unix: масиви, оператори тестування файлів і рядків, спеціальні змінні