c filestream 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'); f.WriteByte(70); Console.WriteLine('Data written into file'); f.Close(); Console.WriteLine('File Stream closed'); } } }
Овде смо написали једноставан програм за уписивање података од једног бајта у датотеку помоћу тока датотека. У почетку смо креирали ФилеСтреам објекат и проследили име датотеке. Затим смо поставили режим датотеке да се отвара или креира. У отворену датотеку написали смо један бајт користећи ВритеБите и на крају све затворили.
Излаз је ткт датотека са једним бајтом.
Пример за читање датотеке
У нашем претходном примеру научили смо како сада записати у датотеку, покушајмо да је читамо.
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(); } } }
Овде смо користили РеадБите за читање бајта из датотеке. Ова наредба се користи за читање једног бајта из датотеке. Ако желите да прочитате више података, мораћете да их проследите кроз петљу. Затим смо га ускладиштили у променљиву цхар, али како се тип повратка неће увек подударати за РеадБите, додали смо и цаст за цхар.
Ако покренемо овај програм, приметиће се следећи излаз.
Оутпут
Датотека је отворена
Подаци прочитани из датотеке су: Ф.
Поток датотека затворен
Ц #СтреамВритер
Класа СтреамВритер у Ц # користи се за писање знакова у ток. Користи класу ТектВритер као основну класу и пружа методе преоптерећења за уписивање података у датотеку.
СтреамВритер се углавном користи за уписивање вишеструких знакова података у датотеку.
Пример:
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(); } } }
Након иницијализације објекта ФилеСтреам, такође смо покренули објект СтреамВритер помоћу објекта ФилеСтреам. Тада смо користили методу ВритеЛине за уписивање једне линије података у датотеку. Затим смо затворили СтреамВритер, а затим ФилеСтреам.
Резултат следећег кода биће датотека са уписаним корисничким подацима.
најбоља места за бесплатно гледање анимеа на мрежи
Оутпут
Ц #СтреамРеадер
СтреамРеадер се користи за читање низа или великих реченица из датотеке. СтреамРеадер такође користи класу ТектРеадер као основну класу, а затим нуди методе као што су Реадинг и РеадЛине за читање података из тока.
Пример читања података:
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(); } } }
Овде смо креирали објекат из СтреамРеадер-а користећи ФилеСтреам. Тада смо користили једноставну методу за читање података за читање података из датотеке. Затворили смо СтреамРеадер, а затим ФилеСтреам.
Горњи програм дао је следеће резултате:
Излаз:
Датотека је отворена
Читање података из датотеке
Подаци из датотеке су: Записивање података у датотеку помоћу програма за писање токова
Поток датотека затворен
Питања и одговори за пословне аналитичаре
Ц #ТектВритер
У Ц # класа ТектВритер је написана као апстрактна класа. Користи се за стварање секвенцијалне серије знакова унутар датотеке. Прилично је сличан запису стреама који такође омогућава кориснику да напише секвенцијалне знакове или текст у датотеку, али за операцију не захтева креирање ФилеСтреам-а.
Пример за сазнање како функционише ТектВритер:
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(); } } }
Горњи код делује слично СтреамВритер-у. Метода ВритеЛине записује податке у датотеку. У датотеку можете уписати више података користећи више метода ВритеЛине унутар блока наредби усинг.
Излаз ће створити текстуалну датотеку са кориснички дефинисаним текстом.
Излаз:
Ц #ТектРеадер
Читач текста је још једна класа која се налази у Систем.ИО. Користи се за читање текста или било ког секвенцијалног знака из дате датотеке.
Пример:
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(); } } }
У горе наведеном програму користили смо ТектРеадер за отварање датотеке која се чува на одређеној локацији. Затим смо прогласили променљиву низа за чување података датотеке. Метода РеадТоЕнд осигурава да су сви подаци унутар датотеке прочитани. Након тога смо податке штампали на конзолу.
Резултат горе наведеног програма биће:
Први ред са писцем текста
Закључак
Простор имена Систем.ИО унутар Ц # нуди разне класе и методе које програмерима омогућавају извођење операција читања и писања на различитим датотекама. Систем.ИО садржи неколико класа попут ФилеСтреам, СтреамРеадер, СтреамВритер, ТектРеадер, ТектВритер итд.
Све ове класе пружају специфичну имплементацију за операције читања и уписивања у датотеку у зависности од захтева.
Узорак кода
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(); } } }
=> Овде погледајте целу серију Ц # тренинга
Препоручено читање
- Манипулација датотекама у Унику: Преглед система Уник датотека
- Уник посебни знакови или метазнакови за манипулисање датотекама
- Дозволе за приступ Уник датотекама: Уник Цхмод, Цховн и Цхгрп
- Објекти датотеке ВБСцрипт: ЦопиФиле, ДелетеФиле, ОпенТектФиле, читање и писање текстуалне датотеке
- Излазне операције уноса датотека у Ц ++
- Примена Јава-а: Стварање и извршавање Јава ЈАР датотеке
- Како упоређивати две датотеке у Унику: наредбе за упоређивање датотека
- Напредно скрипта скрипте за Уник: низови, оператери за тестирање датотека и низова, посебне променљиве