C# 读取txt文件

       1.读取txt文件代码:

       ///<summary>
        ///读取txt文件
        ///</summary>
        public void ReadTextContent()
        {
            string Path = @"E:\PDF\123.txt";
            string strTxt = "";
            StreamReader sr = new StreamReader(Path, Encoding.Default);
            string content;
            while ((content = sr.ReadLine()) != null)
            {
                strTxt += content.ToString();
            }

            int i1 = strTxt.IndexOf("<RetPDFStr>") + 11;
            int i2 = strTxt.IndexOf("</RetPDFStr>");
            int i3 = i2 - i1;

            strTxt = strTxt.Substring(i1, i3);
        } 

<think>好的,我现在需要帮用户找到如何用C#读取TXT文件的示例代码。首先,用户的问题是关于文件读取的,而提供的引用中有几个相关的例子。比如引用[1]提到了使用StreamWriter来追加文本,引用[2]展示了用BinaryReader和BinaryWriter处理二进制文件。虽然这些不是直接读取文本文件,但可能相关的方法可以借鉴。 首先,我应该回忆一下C#中常用的读取文本文件的方法。常见的类有StreamReader、File.ReadAllText、File.ReadAllLines等。引用[1]中的StreamWriter用于写入,但对应的读取应该是StreamReader。另外,引用[2]用了BinaryReader,但那是处理字节的,可能不适用于文本文件。用户需要的是读取文本内容,所以应该使用文本读取方式。 接下来,我需要确认用户需要的是逐行读取还是一次性读取全部内容。根据示例代码的需求,可能需要提供多种方法的示例。比如File.ReadAllText适合小文件,而StreamReader更适合大文件或需要逐行处理的情况。 然后,检查引用中的代码是否有可参考的部分。引用[1]中的File.AppendText用于追加写入,而读取的话应该用File.OpenText或者new StreamReader。引用[2]中的BinaryReader虽然处理字节,但读取文本应该用StreamReader。 还需要注意代码的正确性和异常处理。例如,在使用文件流时,应该使用using语句来确保资源被正确释放。这可能需要在示例代码中体现出来,比如使用using (StreamReader sr = File.OpenText(path))来避免资源泄漏。 另外,用户可能需要不同方式的示例,比如读取全部文本、逐行读取读取为数组。因此,我应该分点给出不同的方法,并说明适用场景,比如小文件用File.ReadAllText,大文件用StreamReader逐行处理。 最后,需要确保代码符合C#语法规范,路径正确,并且处理可能的异常,比如文件不存在的情况。不过用户可能只需要基本示例,所以暂时可以不包含异常处理,但可以提到需要注意的地方。 总结,我需要提供三种方法:File.ReadAllText、File.ReadAllLines和StreamReader逐行读取,并给出对应的示例代码,同时参考引用中的相关代码结构,比如使用File.OpenText或StreamReader。同时,确保代码示例简洁,符合用户需求。</think>### 如何用C#读取TXT文件的示例代码 在C#读取文本文件的方法主要有以下三种,分别适用于不同场景: --- #### **方法1:一次性读取全部内容(适用于小文件)** 使用 `File.ReadAllText` 方法直接返回文件内容的字符串: ```csharp string path = @"D:\test.txt"; string content = File.ReadAllText(path); Console.WriteLine(content); ``` *适用场景:文件体积较小(如小于100MB),需快速获取全部内容*[^4] --- #### **方法2:按行读取为字符串数组(需逐行处理时)** 使用 `File.ReadAllLines` 方法将每行文本存入数组: ```csharp string[] lines = File.ReadAllLines(path); foreach (string line in lines) { Console.WriteLine(line); } ``` *优势:可配合LINQ进行数据筛选或转换* --- #### **方法3:流式逐行读取(适用于大文件)** 通过 `StreamReader` 逐行读取,减少内存占用: ```csharp using (StreamReader sr = File.OpenText(path)) { string line; while ((line = sr.ReadLine()) != null) { Console.WriteLine(line); } } ``` *适用场景:处理GB级大文件时避免内存溢出[^2]* --- #### **注意事项** 1. 路径需包含文件扩展名(如`.txt`) 2. 文件不存在时会抛出 `FileNotFoundException` 3. 大文件操作建议用异步方法(如 `ReadLineAsync()`)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值