Streams

როდესაც ჩაწერისთვის ან წაკითხვისთვის ვხსნით ფაილს, ამ დროს ფაილის მონაცემები გადაიქცევა მონაცემთა ნაკადათ ანუ Stream-ად. სტრიმი არის ბაიტების თანმიმდევრობა, რომელიც გადაიცემა წყაროდან დანიშნულების ობიექტამდე კავშირის არხით.

არსებობს ორი სახის სტრიმი შემავალი და გამომავალი სტრიმი (Input Stream and Output Stream).  input სტრიმი გამოიყენება ფაილში ინფორმაციის ჩაწერისთვის, ხოლო შესაბამისად output სტრიმი დანიშნულია ინფორმაციის წაკითხვისათვის.

system.IO namespace შეიცავს სხვადასხვა კლასებს ფაილებთან, პორტებთან და სხვადასხვა გარე მოწყობილობებთან სამუშაოთ. ხოლო აქედან ყველაზე ხშირად გამოყენება შემდეგი კლასები:

FileStream – გამოიყენება ფაილის ნებისმიერი ადგილიდან ინფორმაციის წასაკითხად ასევე ჩაწერისთვის  როგორც სინქრონულათ ასევე ასინქრონულათ.                                                                                                                                                                             BinaryReader – გამოიყენება ბინარული სტრიმიდან პრიმიტიულ მონაცემთა ტიპების წასაკითხად.

BinaryWriter – გამოიყენება ბინარულ სტრიმში  პრიმიტიულ მონაცემთა ტიპების ჩასაწერად.

StreamReader – დანიშნულია ბაიტ სტრიმიდან ჩარაქტერების წასაკითხად.                                                                                                                                                                                 StreamReader აბსტრაქტული TextReader ის მემკვიდრეა, ხოლო TextReader შეიცავს ფუნქციებს ფაილიდან ინფორმაციის წასაკითხად.

StreamWriter – გამოიყენება სტრიმში ჩარაქტერების ჩასაწერად. StreamWriter აბსტრაქტული TextWriter ის მემკვიდრეა, ხოლო TextWriter შეიცავს ფუნქციებს ინფორმაციის ჩასაწერად.

StringReader – დანიშნულია სტრინგის ბუფერიდან ინფორმაციის წასაკითხად.                                                                                                                                                                  StringWriter – გამოიყენება ინფორმაციის ჩასაწერად სტრინგის ბუფერში.                                                                                                                                                                           DirectoryInfo –  მოცემული კლასი დანიშნულია დირექტორიებთან სამუშაოთ, კერძოდ: დირექტორიის შექმნა, გადატანა, დირექტორიებსა და სუბდირექტორიებს შორის ენუმერაცია და ა.შ. მოცემული კლასი არ შეიძლება  მონაწილეობდეს მემკვიდრეობაში.(უშვილოა)                                                                                                                                                                                                                                                                                                   FileInfo – დანიშნულია ფაილებთან სამუშაოდ შემდეგი ფუნქციებით შექმნა, კოპირება, წაშლა, გადატანა, ფაილების გახსნა და ა.შ. მოცემული კლასი ასევე არ შეიძლება  მონაწილეობდეს მემკვიდრეობაში.(უშვილოა)

using System;
using System.IO;

namespace StreamWriter_class {
class Program {
class FileWrite {
public void WriteData() {
FileStream fs = new FileStream(“D:\\test.txt”, FileMode.Append, FileAccess.Write);
//FileStream – დანიშნულია ფაილში სინქრონული და ასინქრონული ჩაწერა წაკითხვისთვის
//FileMode – არის ენუმერაცია რომელიც უზრუნველყობს ჩაწერა წაკითხვის მეთოდს
//FileAccess – ენუმერაცია შედგება სამი წევრისაგან Read, Write, ReadWrite.
StreamWriter sw = new StreamWriter(fs);
//StreamWriter – ის კონსტრუქტორს შეგვიძლია პირდაპირ გადავცეთ
//მისამართი სადაც ფაილის ჩაწერა გვინდა.
Console.WriteLine(“Enter the text which you want to write to the file”);
string str = Console.ReadLine();
sw.WriteLine(str);
sw.Flush();//ახდენს ბუფერის გაწმენდას
sw.Close();
fs.Close();
}
}
static void Main(string[] args) {
FileWrite wr = new FileWrite();
wr.WriteData();
}
}
}

* This source code was highlighted with Source Code Highlighter.

———————————————————————————————————

using System;
using System.IO;

namespace StreamReader_class {
class Program {
class FileRead {
public void ReadData() {
Console.WindowWidth = 150;
FileStream fs = new FileStream(“e:\\test.txt”, FileMode.Open, FileAccess.Read);
//FileStream – დანიშნულია ფაილში სინქრონული და ასინქრონული ჩაწერა წაკითხვისთვის
//FileMode – არის ენუმერაცია რომელიც უზრუნველყობს ჩაწერა წაკითხვის მეთოდს
//FileAccess – ენუმერაცია შედგება სამი წევრისაგან Read, Write, ReadWrite.
StreamReader sr = new StreamReader(fs);
//StreamWriter – ის კონსტრუქტორს შეგვიძლია პირდაპირ გადავცეთ
//მისამართი საიდანაც ფაილის წაკითხვა გვინდა.
Console.WriteLine(“Program to show content of test file”);
sr.BaseStream.Seek(0, SeekOrigin.Begin);//––––––???????????(1)
string str = sr.ReadLine();
while(str != null) {
Console.WriteLine(str);
str = sr.ReadLine();
}
Console.ReadLine();
sr.Close();
fs.Close();
}
}
static void Main(string[] args) {
FileRead wr = new FileRead();
wr.ReadData();
}
}
}

* This source code was highlighted with Source Code Highlighter.

—–>Download Source Code “StreamWriter”<—–

—–>Download Source Code “StreamReader”<—–

Advertisements
This entry was posted in C# Programming. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s