C#讀取文字檔案和寫文字檔案

Finder_Way發表於2018-05-24

C#讀取文字檔案

今天一個學生問我如何從一個文字中讀取內容,如下是做的是控制檯中的例子,在別的地方也是這個道理。


        // 讀操作
        public static void Read()
        {
            // 讀取檔案的源路徑及其讀取流
            string strReadFilePath = @"../../data/ReadLog.txt";
            StreamReader srReadFile = new StreamReader(strReadFilePath);

            // 讀取流直至檔案末尾結束
            while (!srReadFile.EndOfStream)
            {
                string strReadLine = srReadFile.ReadLine(); //讀取每行資料
                Console.WriteLine(strReadLine); //螢幕列印每行資料
            }

            // 關閉讀取流檔案
            srReadFile.Close();
            Console.ReadKey();
        }

 

===================================================================

 

C# 寫文字檔案

 

        // 寫操作
        public static void Write()
        {
            // 統計寫入(讀取的行數)
            int WriteRows = 0;

            // 讀取檔案的源路徑及其讀取流
            string strReadFilePath = @"../../data/ReadLog.txt";
            StreamReader srReadFile = new StreamReader(strReadFilePath);

            // 寫入檔案的源路徑及其寫入流
            string strWriteFilePath = @"../../data/WriteLog.txt";
            StreamWriter swWriteFile = File.CreateText(strWriteFilePath);

            // 讀取流直至檔案末尾結束,並逐行寫入另一檔案內
            while (!srReadFile.EndOfStream)
            {
                string strReadLine = srReadFile.ReadLine(); //讀取每行資料
                ++WriteRows; //統計寫入(讀取)的資料行數

                swWriteFile.WriteLine(strReadLine); //寫入讀取的每行資料
                Console.WriteLine("正在寫入... " + strReadLine);
            }

            // 關閉流檔案
            srReadFile.Close();
            swWriteFile.Close();

            Console.WriteLine("共計寫入記錄總數:" + WriteRows);
            Console.ReadKey();
        }

 

========================================================================

 

完整原始碼(經過本人測試,直接執行就可)

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.IO; // 引用輸入輸出操作的命令空間

namespace ReadWriteFile
{
    class Program
    {

        // 主函式
        static void Main(string[] args)
        {
            Read(); // 讀操作

            Write(); // 寫操作
        }

        // 讀操作
        public static void Read()
        {
            // 讀取檔案的源路徑及其讀取流
            string strReadFilePath = @"../../data/ReadLog.txt";
            StreamReader srReadFile = new StreamReader(strReadFilePath);

            // 讀取流直至檔案末尾結束
            while (!srReadFile.EndOfStream)
            {
                string strReadLine = srReadFile.ReadLine(); //讀取每行資料
                Console.WriteLine(strReadLine); //螢幕列印每行資料
            }

            // 關閉讀取流檔案
            srReadFile.Close();
            Console.ReadKey();
        }

        // 寫操作
        public static void Write()
        {
            // 統計寫入(讀取的行數)
            int WriteRows = 0;

            // 讀取檔案的源路徑及其讀取流
            string strReadFilePath = @"../../data/ReadLog.txt";
            StreamReader srReadFile = new StreamReader(strReadFilePath);

            // 寫入檔案的源路徑及其寫入流
            string strWriteFilePath = @"../../data/WriteLog.txt";
            StreamWriter swWriteFile = File.CreateText(strWriteFilePath);

            // 讀取流直至檔案末尾結束,並逐行寫入另一檔案內
            while (!srReadFile.EndOfStream)
            {
                string strReadLine = srReadFile.ReadLine(); //讀取每行資料
                ++WriteRows; //統計寫入(讀取)的資料行數

                swWriteFile.WriteLine(strReadLine); //寫入讀取的每行資料
                Console.WriteLine("正在寫入... " + strReadLine);
            }

            // 關閉流檔案
            srReadFile.Close();
            swWriteFile.Close();

            Console.WriteLine("共計寫入記錄總數:" + WriteRows);
            Console.ReadKey();
        }
    }
}


相關文章