C#讀取文件,返回字符串形式的文件內容

C#讀取文件,將文件內容以字符串的形式返回,使用FileStream類進行讀取。

其中若要對字符串頻繁的追加時,StringBuilder比string類型要高效。

        /// <summary>
        /// 讀取文件,返回相應字符串
        /// </summary>
        /// <param name="fileName">文件路徑</param>
        /// <returns>返回文件內容</returns>
        private string ReadFile(string fileName)
        {
            StringBuilder str = new StringBuilder();
            using (FileStream fs = File.OpenRead(fileName))
            {
                long left = fs.Length;
                int maxLength = 100;//每次讀取的最大長度
                int start = 0;//起始位置
                int num = 0;//已讀取長度
                while (left > 0)
                {
                    byte[] buffer = new byte[maxLength];//緩存讀取結果
                    char[] cbuffer = new char[maxLength];
                    fs.Position = start;//讀取開始的位置
                    num = 0;
                    if (left < maxLength)
                    {
                        num = fs.Read(buffer, 0, Convert.ToInt32(left));
                    }
                    else
                    {
                        num = fs.Read(buffer, 0, maxLength);
                    }
                    if (num == 0)
                    {
                        break;
                    }
                    start += num;
                    left -= num;
                    str = str.Append(Encoding.UTF8.GetString(buffer));
                }
            }
            return str.ToString();
        }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章