如何使用 StringBuilder 写回文本文件
本文关键字:文本 文件 写回 StringBuilder 何使用 | 更新日期: 2023-09-27 18:36:16
目前我的代码没有插入其他数据,而是覆盖了测试文件中的数据。
代码片段如下:
string path = @"C:''test.txt"; // <==NEW
StreamWriter sw = new StreamWriter(new FileStream(path, Filemode.Open, FileAccess.Write)); // <==NEW
StringBuilder Editions = new StringBuilder(400);
Editions.Insert(0, "0");
Editions.Insert(1, "0");
//Editions.Remove(9, 14);
//Editions.Insert(11, "R");
//Editions.Insert(12, "M");
//Editions.Insert(13, "A");
//Editions.Insert(14, "L");
//Editions.Insert(15, "L");
//Editions.Insert(16, " ");
//Editions.Insert(17, " ");
//Editions.Insert(18, " ");
//Editions.Insert(193, "C");
//Editions.Insert(194, "L");
sw.Write(Editions.ToString()); // <== NEW
sw.Flush(); // <== NEW
sw.Close(); // <== NEW
如果需要添加更多数据,则需要在Append
模式下打开文件
@"C:''test.txt"; // <==NEW
StreamWriter sw = new StreamWriter(new FileStream(path, Filemode.Append, FileAccess.Write)); // <==NEW
StringBuilder Editions = new StringBuilder(400);
Editions.Insert(0, "0");
Editions.Insert(1, "0");
//Editions.Remove(9, 14);
//Editions.Insert(11, "R");
//Editions.Insert(12, "M");
//Editions.Insert(13, "A");
//Editions.Insert(14, "L");
//Editions.Insert(15, "L");
//Editions.Insert(16, " ");
//Editions.Insert(17, " ");
//Editions.Insert(18, " ");
//Editions.Insert(193, "C");
//Editions.Insert(194, "L");
sw.Write(Editions.ToString()); // <== NEW
sw.Flush(); // <== NEW
sw.Close(); // <== NEW
更多信息 - 这里
引用自 MSDN : 附加
打开文件(如果存在)并查找到文件末尾,或者 创建一个新文件。这需要FileIOPermissionAccess.Append 许可。FileMode.Append 只能与 试图在结束之前寻找一个位置 文件引发 IOException 异常,并且任何读取尝试都失败 并引发 NotSupportedException 异常。
此外 - 当您使用插入时,请注意"参数超出范围异常".!!读