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();
}
}
}