These are just some quick tidbits about file processing in C#.  Reading in files, reading in LARGE files, Reading and Processing Large Files.

Reading a file (use a StreamReader)

if (File.Exists(path))
               {
                   using (StreamReader sr = new StreamReader(path))
                   {
                       while (sr.Peek() >= 0)
                       {
                           string line = sr.ReadLine();
                       }
                   }
               }


 

Fastest way to read a file (Reading a large file) – Use BufferedStream

Using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{  using (BufferedStream bs = new BufferedStream(fs))  {
    using (StreamReader sr = new StreamReader(bs))
    {
      string line;
       while ((line = sr.ReadLine()) != null)
       {

       }
     }
   }
}

For large files, split up the Processing of the file – and the Reading of the file

Use a producer – consumer pattern. The producer task read in lines of text using the BufferedStream and handed them off to a separate consumer task that did the searching.

Anuj holds professional certifications in Google Cloud, AWS as well as certifications in Docker and App Performance Tools such as New Relic. He specializes in Cloud Security, Data Encryption and Container Technologies.

Initial Consultation

Anuj Varma – who has written posts on Anuj Varma, Hands-On Technology Architect, Clean Air Activist.