C# 写入数据到txt文件

本文详细介绍了使用C#进行文件和目录操作的方法,包括检查文件夹和文件是否存在,创建文件夹和文件,以及如何使用StreamWriter向TXT文件中写入内容。

          string readme = "readme.txt"; //文件名称
            string txtpath = path + "/" + readme;//文件存放路径
            DirectoryInfo directoryInfo = new DirectoryInfo(path);
            if (!directoryInfo.Exists)  //判断 文件夹是否存在
            {
                directoryInfo.Create();
            }
            if (!File.Exists(txtpath)) {
                File.Create(txtpath).Close();//判断文件是否存在,创建txt文件后需要close,否则会出现文件占用情况
            }
            StreamWriter sw = new StreamWriter(txtpath, true, System.Text.Encoding.Default);//第一个参数代表路径,第二个参数表示文件是否覆盖还是在原有文件基础上添加,第三个参数代表编码格式
            sw.WriteLine("存放原始照片");//写入txt文件
            sw.WriteLine("存放过程照片");
            sw.WriteLine("存放结果照片");
            sw.Flush();
            sw.Close();

### C# 写入数据TXT 文件 示例 在 C# 中,写入数据TXT 文件可以通过多种方式实现。以下是一些常见的方法及其适用场景。 #### 1. 覆盖文件内容 如果需要完全覆盖原有文件的内容,可以使用 `File.WriteAllText` 方法。此方法会将指定的字符串写入文件,并替换文件中的所有现有内容。 ```csharp using System; using System.IO; class Program { static void Main() { string txtfilePath = @"C:\txtfile.txt"; string contentToWrite = "这是新的文件内容\n"; // 需求写入的内容 try { File.WriteAllText(txtfilePath, contentToWrite); Console.WriteLine("文件内容已更新完成!"); } catch (IOException e) { Console.WriteLine("写入文件时发生异常错误: " + e.Message); } } } ``` 上述代码展示了如何使用 `File.WriteAllText` 方法将内容写入文件并覆盖原有内容[^1]。 #### 2. 追加内容到文件末尾 如果需要向文件追加内容而不覆盖原有内容,可以使用 `File.AppendAllText` 方法。 ```csharp using System; using System.IO; class Program { static void Main() { string txtfilePath = @"C:\txtfile.txt"; string contentToAppend = "这是追加的内容\n"; // 需求追加的内容 try { File.AppendAllText(txtfilePath, contentToAppend); Console.WriteLine("内容已成功追加到文件!"); } catch (IOException e) { Console.WriteLine("追加内容时发生异常错误: " + e.Message); } } } ``` 通过 `File.AppendAllText` 方法,可以在不破坏原有文件内容的情况下,将新内容追加到文件末尾[^3]。 #### 3. 按行写入大量数据 当需要写入大量数据时,可以使用 `StreamWriter` 类逐行写入数据。这种方法适用于处理大数据流或动态生成的数据。 ```csharp using System; using System.IO; class Program { static void Main() { string txtfilePath = @"C:\txtfile.txt"; using (StreamWriter writer = new StreamWriter(txtfilePath, true)) // true 表示追加模式 { foreach (var item in GetLargeDataStream()) // 假设这是你的数据源 { writer.WriteLine(ProcessData(item)); // 逐行处理并写入 } } Console.WriteLine("大量数据已成功写入文件!"); } static string ProcessData(object item) { return item.ToString(); // 数据处理逻辑 } static System.Collections.Generic.IEnumerable<object> GetLargeDataStream() { yield return "第一行数据"; yield return "第二行数据"; yield return "第三行数据"; } } ``` 上述代码展示了如何使用 `StreamWriter` 类按行写入大量数据。通过设置 `StreamWriter` 的构造函数参数为 `true`,可以启用追加模式[^2]。 #### 4. 使用 CSV 格式写入结构化数据 如果需要将结构化数据(如集合)写入 TXT 文件并以 CSV 格式保存,可以使用以下方法: ```csharp using System; using System.IO; using System.Text; using System.Collections.Generic; public class MarkDataModel { public double X { get; set; } public double Y { get; set; } public string Text { get; set; } } class Program { static void Main() { string csvFilePath = @"C:\csvfile.txt"; List<MarkDataModel> data = new List<MarkDataModel> { new MarkDataModel { X = 1.0, Y = 2.0, Text = "点A" }, new MarkDataModel { X = 3.0, Y = 4.0, Text = "点B" } }; StringBuilder csvContent = new StringBuilder(); csvContent.AppendLine("X,Y,Text"); // 添加表头 foreach (var item in data) { csvContent.AppendLine($"{item.X},{item.Y},{item.Text}"); } File.WriteAllText(csvFilePath, csvContent.ToString()); Console.WriteLine("CSV 数据已成功写入文件!"); } } ``` 上述代码展示了如何将结构化数据写入 TXT 文件并以 CSV 格式保存[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值