c filestream streamwriter
В този урок ще научите за System.IO, който е C # пространство от имена. Това пространство от имена предоставя класове C # като FileStream, StreamWriter, StreamReader за обработка на входни / изходни файлове:
как да обърнете масив Java
Файлът е основно системен обект, съхраняван в паметта в определена дадена директория с правилно име и разширение. В 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 и накрая затворихме всичко.
Резултатът е txt файл с един байт.
Пример за четене на файл
В предишния ни пример научихме как да пишем във файл сега, нека се опитаме да прочетем файла.
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
Файлов поток е затворен
° С #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.
Резултатът от следния код ще бъде файл с потребителски данни, записани в него.
java създава масив от обекти
Изход
° С #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.
Горната програма даде следния резултат:
Изход:
Файлът е отворен
Четене на данни от файла
Данните от файла са: Записване на данни във файл с помощта на писател на потоци
Файлов поток е затворен
безплатни аниме сайтове за гледане онлайн
° С #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 вътре в блока с инструкции.
Резултатът ще създаде текстов файл с дефиниран от потребителя текст.
Изход:
° С #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: масиви, оператори за тестване на файлове и низове, специални променливи