[C#]文字檔處理

在這邊介紹兩種文字檔讀取的方法

第一種 使用File.ReadLines

foreach (string line in File.ReadLines(Path.Combine(path,fileName)))
    //doSomeThing           
}

恩 就這樣wwww     

如果要指定編碼模式在後面多加一個參數即可

像這樣

foreach (string line in File.ReadLines(Path.Combine(path,fileName),Encoding.Default))
    //doSomeThing           
}

如果你的作業系統語系不是中文的話 但是檔案內含有中文字  用Default反而會變亂碼

第二種 使用StreamReader

using (StreamReader sr = new StreamReader(Path.Combine(path, fileName)))
{
    string line;
    while ((line = sr.ReadLine()) != null)
    {
        //doSomeThing
    }
}

看起來就稍微複雜了點

要指定編碼一樣的方式

using (StreamReader sr = new StreamReader(Path.Combine(path, fileName), Encoding.Default))
{
    string line;
    while ((line = sr.ReadLine()) != null)
    {
        //doSomeThing
    }
}

這樣就好惹

FileReadLines 內部讀取似乎也是實作StreamReader來做檔案讀取

詳細請看Reference

Reference

http://stackoverflow.com/questions/20287566/the-difference-between-streamreader-readline-and-file-readlines