C#如何按数字序列命名文件并将数组内容写入存储
C#实现按数字序列命名文件并写入数组内容的方案
首先先修正你现有代码的笔误:所有comboBox2~comboBox5调用GetItemText的前缀错误写成了comboBox1,需先修正为对应控件名,避免取值错误。
实现逻辑
- 先读取目标目录下所有符合
数字.txt格式的文件,提取最大序号,新文件序号为最大序号+1,首次写入时默认从1开始 - 将字符串数组合并为完整内容后写入新生成的文件
完整可运行代码
// 修正后的控件取值代码 string selectedsite = this.comboBox1.GetItemText(this.comboBox1.SelectedItem); string selectedsize = this.comboBox2.GetItemText(this.comboBox2.SelectedItem); string selectedproduct = this.comboBox3.GetItemText(this.comboBox3.SelectedItem); string selectedproxies = this.comboBox4.GetItemText(this.comboBox4.SelectedItem); string selectedprofiles = this.comboBox5.GetItemText(this.comboBox5.SelectedItem); string[] FileInfo = { selectedsite," ", selectedsize, " ", selectedproduct, " ", selectedproxies, " ", selectedprofiles }; // 配置文件保存目录 string saveDir = @"d:\bot\bot\"; // 确保目录存在,不存在则创建 if (!Directory.Exists(saveDir)) { Directory.CreateDirectory(saveDir); } // 计算最新的文件序号 int newFileIndex = 1; // 获取目录下所有txt文件 var txtFiles = Directory.GetFiles(saveDir, "*.txt") .Select(f => Path.GetFileNameWithoutExtension(f)) .Where(name => int.TryParse(name, out _)) .Select(name => int.Parse(name)); if (txtFiles.Any()) { newFileIndex = txtFiles.Max() + 1; } // 生成新文件路径 string newFilePath = Path.Combine(saveDir, $"{newFileIndex}.txt"); // 写入数组内容 File.WriteAllText(newFilePath, string.Join("", FileInfo));
注意事项
- 若需要每个数组元素单独占一行,将
string.Join("", FileInfo)的第一个参数改为Environment.NewLine即可 - 代码依赖
System.IO命名空间,需在文件顶部添加using System.IO;引用
内容的提问来源于stack exchange,提问作者James Andrews
相关产品推荐
相关产品推荐

