Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Các cách đọc file trong C#

1. Đọc file text (StreamReader)

using System;
using System.IO;

namespace FileApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                using (StreamReader sr = new StreamReader("d:/new.txt"))
                {
                    string line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        Console.WriteLine(line);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Không đọc được file:");
                Console.WriteLine(e.Message);
            }
            Console.ReadKey();
        }
    }
}

2. Đọc file nhị phân (BinaryReader)

using System.IO;

namespace BinaryFileApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            BinaryWriter bw;
            BinaryReader br;
            int i = 25;
            double d = 3.14157;
            bool b = true;
            string s = "I am happy";
            
            // Tạo file
            try { bw = new BinaryWriter(new FileStream("mydata", FileMode.Create)); }
            catch (IOException e) { Console.WriteLine(e.Message + "\n Không tạo được file."); return; }
            
            // Ghi
            try { bw.Write(i); bw.Write(d); bw.Write(b); bw.Write(s); }
            catch (IOException e) { Console.WriteLine(e.Message + "\n Không ghi được."); return; }
            
            bw.Close();
            
            // Đọc
            try { br = new BinaryReader(new FileStream("mydata", FileMode.Open)); }
            catch (IOException e) { Console.WriteLine(e.Message + "\n Không mở được."); return; }
            
            try
            {
                i = br.ReadInt32(); Console.WriteLine("Integer: {0}", i);
                d = br.ReadDouble(); Console.WriteLine("Double: {0}", d);
                b = br.ReadBoolean(); Console.WriteLine("Boolean: {0}", b);
                s = br.ReadString(); Console.WriteLine("String: {0}", s);
            }
            catch (IOException e) { Console.WriteLine(e.Message + "\n Không đọc được."); return; }
            
            br.Close();
            Console.ReadKey();
        }
    }
}

Các cách khác

  • File.ReadAllText(), File.ReadAllLines() - đơn giản cho file nhỏ
  • File.OpenText() - trả StreamReader
  • MemoryMappedFile - file lớn, hiệu năng cao