我正在尝试将文件和内容加载到数组中,然后在文件中的某个位置添加一行。例如:
因此,将添加行中的文件加载到此文件中,然后复制回数组并保存。这是我到目前为止的代码,但我不确定如何重建它。
private void addgsc()
{
string[] lines = System.IO.File.ReadAllLines
(modspath + "//maps//_zombiemode_weapons.gsc");
int index = -1; // Where to insert the new line.
List<string> newLines = new List<string>();
for (int i = 0; i < lines.Length; i++)
{
newLines.Add(lines[i]);
if (lines[i].Contains("add_zombie_weapon"))
index = i + 1;
}
if (index > -1)
{
newLines.Insert(index, "test 21");
}
string[] rebulidarr = newLines.ToArray();
答案 0 :(得分:1)
尝试这样做:
var newlines =
from line in File.ReadAllLines("source_filename.txt")
from newline in new []
{
line,
line.Contains("add_zombie_weapon") ? "test 21 " : null
}
where newline != null;
select newline;
File.WriteAllLines("destination_filename.txt", newlines);
答案 1 :(得分:1)
看起来有一系列add_zombie_weapon()
行,您想在该部分的末尾添加一些内容吗?
如果是这样,请尝试以下方法:
private void addgsc()
{
string file = modspath + "//maps//_zombiemode_weapons.gsc";
List<string> lines = new List<string>(System.IO.File.ReadAllLines(file));
int index = lines.FindLastIndex(item => item.Contains("add_zombie_weapon"));
if (index != -1)
{
lines.Insert(index + 1, "test 21");
}
System.IO.File.WriteAllLines(file, lines);
}