本文转载连接: https://blog.youkuaiyun.com/u012302024/article/details/41315857
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();
- }