Водич за Ц # ток: СтреамРеадер, СтреамВритер са примером

Преглед садржаја:

Anonim

У операцијама датотека Ц #, обично се токови користе за читање и писање у датотеке. Ток је додатни слој створен између апликације и датотеке. Ток се користи за осигуравање глатких операција читања и писања у датотеку.

Потоци се обично користе приликом читања података из великих датотека. Коришћењем токова, подаци из великих датотека се рашчлањују на мале делове и шаљу у ток. Ови делови података се затим могу прочитати из апликације.

Разлог за његово рашчлањивање на мале делове је због утицаја читања велике датотеке у једном кадру на перформансе. Ако бисте читали податке из рецимо датотеке од 100 МБ на једном снимку, ваша апликација би могла једноставно да виси и постане нестабилна. Тада је најбољи приступ користити токове за разбијање датотеке на управљачке делове.

Дакле, када се операција писања врши у датотеку, подаци који се записују прво се записују у ток. Из стрима се подаци затим записују у датотеку. Исто важи и за операцију читања. У операцији читања, подаци се прво преносе из датотеке у ток. Подаци се затим читају из апликације путем стрима. Погледајмо пример како можемо читати и писати користећи токове.

У овом упутству ћете научити-

  • Стреам Реадер
  • Стреам Вритер

Стреам Реадер

Читач токова се користи за читање података из датотеке помоћу токова. Подаци из датотеке се прво читају у току. Након тога апликација чита податке из тока.

За наш пример, претпоставићемо да имамо датотеку на Д диску која се зове Екампле.ткт. Датотека ће бити једноставна текстуална датотека и имаће 2 реда као што је приказано доле

  • Гуру99 - .Нет
  • Гуру99 -Ц #

За наш пример ћемо створити једноставну апликацију Конзоле и радити са токовима датотека

Погледајмо пример како можемо користити токове за читање података из датотеке. Унесите доњи код у датотеку програм.цс.

using System;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{static void Main(string[] args){String path = @"D:\Example.txt";using (StreamReader sr = File.OpenText(path)){String s = "";while ((s = sr.ReadLine()) != null){Console.WriteLine(s);}}Console.ReadKey();}}}

Објашњење кода: -

  1. Прво, проглашавамо објект читача тока. Објекат читача тока користи се у Ц # за дефинисање тока из датотеке у апликацију. Подаци ће се гурати из датотеке у ток кад год се подаци читају из датотеке. Филе.ОпенТект се користи за отварање датотеке „Екампле.ткт“ у режиму само за читање. Обрађивач датотеке се затим шаље објекту читача тока.
  2. Даље, дефинишемо привремену променљиву 'с' која ће се користити за читање свих података из датотеке.
  3. Затим користимо метод читача тока РеадЛине за читање сваке линије из ме успремника. Када извршимо ову операцију, сваки ред ће се прво пренети из датотеке у међуспремник. Тада ће се линија низа пребацити из међуспремника у променљиву 'с'. Затим на конзолу записујемо садржај низа 'с'.

Када се постави горњи код и пројекат покрене помоћу Висуал Студија, добићете доњи излаз.

Излаз: -

Из излаза можете видети да је Стреам Реадер прочитао обе линије из датотеке. Коначно, редови низа прочитани из стрима послати су на Конзолу.

Стреам Вритер

Писач токова се користи за писање података у датотеку помоћу токова. Подаци из апликације се прво уписују у ток. Након тога ток записује податке у датотеку. Погледајмо пример како можемо користити токове за писање података из датотеке. Унесите доњи код у датотеку програм.цс.

using System;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{static void Main(string[] args){String path = @"D:\Example.txt";using (StreamWriter sr = File.AppendText(path)){sr.WriteLine("Guru99 - ASP.Net");sr.Close();Console.WriteLine(File.ReadAllText(path));}Console.ReadKey();}}}

Објашњење кода: -

  1. Прво, проглашавамо објект за писање тока. Објекат писца тока користи се у Ц # за дефинисање тока. Поток се затим користи за писање података из апликације у датотеку. Подаци ће се пребацивати из апликације у ток кад год је потребно записати податке. Наредба Филе.АппендТект се користи за отварање датотеке „Екампле.ткт“ у режиму додавања. Обрађивач датотеке се затим шаље објекту за писање тока.
  2. Користимо метод писања тока Врителине за писање линије „Гуру99 - АСП.Нет“ у ток. Из тока, ред ће се затим записати у датотеку.
  3. Затим затворимо програм за писање тока након писања у датотеку. Обично је добра пракса затворити руковаоце датотекама када датотека више није потребна за писање.
  4. Коначно, поново читамо садржај датотеке и записујемо је у дневник конзоле. Ово служи за проверу да ли је линија записана у датотеку.

Када се постави горњи код и пројекат покрене помоћу Висуал Студија, добићете доњи излаз.

Излаз: -

Из резултата можете видети да је ред „Гуру99 - АСП.Нет“ успешно додат у датотеку. Сва 3 реда текста могу се видети у конзоли.

Резиме

  • Потоци се користе као средњи ниво између апликације и датотеке.
  • СтреамРеадер се користи кад год је потребно да се подаци читају из датотеке.
  • Стреамвритер се користи кад год је потребно записати податке у датотеку.