C#中如何将.txt文件内容读取到字符串变量中
C# 读取指定路径TXT文件内容到字符串变量
最直接的实现方式是使用System.IO命名空间下内置的文件读取方法,不需要手动处理流资源释放,代码简洁且稳定。
最简实现(推荐)
使用File.ReadAllText方法,该方法会一次性打开指定文件、读取全部文本内容后自动关闭文件,返回值就是完整的文件内容字符串,全版本.NET环境(Framework 2.0+、.NET Core、.NET 5+)都支持。
示例代码:
// 引入IO命名空间 using System.IO; // 你已经存储了目标txt路径的字符串变量,替换成你自己的变量名即可 string yourPathVariable = @"D:\test\demo.txt"; // 读取内容存入新的字符串变量 string txtContent = File.ReadAllText(yourPathVariable);
编码适配注意点
File.ReadAllText默认按UTF-8编码读取文件,如果你的txt是GBK、GB2312等中文编码,需要手动传入编码参数:
// 先引入Text命名空间 using System.Text; // 读取GBK编码的txt文件 string txtContent = File.ReadAllText(yourPathVariable, Encoding.GetEncoding("GBK"));
如果是.NET Core/.NET 5+环境使用GBK类编码,需要先做一步注册:
- 先引入
System.Text.Encoding.CodePages依赖包 - 在程序启动逻辑里加一行注册代码:
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
手动流读取写法
如果需要自定义读取逻辑(比如后续要扩展分块读取大文件),可以用StreamReader实现,必须用using语句包裹,保证文件流在读取完成后自动释放,避免资源占用:
using System.IO; using System.Text; string txtContent; using (StreamReader sr = new StreamReader(yourPathVariable, Encoding.UTF8)) { txtContent = sr.ReadToEnd(); }
常见异常提示
读取过程中可能遇到以下报错,可根据业务需求加try-catch做容错:
- 路径不存在:抛出
FileNotFoundException - 无文件读取权限:抛出
UnauthorizedAccessException - 路径格式不符合规范:抛出
ArgumentException
内容的提问来源于stack exchange,提问作者user19352673
相关产品推荐
相关产品推荐

