附加到文本文件中的倒数第二行

时间:2017-08-14 05:20:42

标签: c#

所以我正在制作一个程序,将我剪贴板中的内容输入到文本文件中,我计划稍后将这些信息传输到AHK脚本中,但我想在一个程序中完成所有操作,所以如果可能的话,它会附加到.ahk文件,但不是它附加到最后一行,我需要它在返回之前附加到行,这是文件的最后一行。

Send ::redeem N4E2vzCEp {enter}
Sleep 1000
return

这是文件的结尾,如果可能,我希望我的程序可以执行以下操作:

string pasted = Clipboard.GetText();
sw.WriteLine.SecondLastLine("Send ::redeem " + pasted + " {enter}");
sw.WriteLine.SecondLastLine("Sleep 1000"); //Fully aware that secondlastline is not a valid command

但我不知道实际编码的正确方法是什么。

当前代码:

    private void paste_Click(object sender, EventArgs e)
    {
        string path = @"c:\users\john\desktop\auths.txt";
        using (StreamWriter sw = File.AppendText(path))
        {
            string pasted = Clipboard.GetText();
            sw.WriteLine("Send ::redeem " + pasted + " {enter}");
            sw.WriteLine("Sleep 1000");
        }

    }

1 个答案:

答案 0 :(得分:1)

您可以做的是将所有行读入List,然后将新行插入特定位置,并将这些行写回文件。

List<string> lines = File.ReadAllLines("your file").ToList();
lines.Insert(lines.Count - 2, "new line");
File.WriteAllLines("your file", lines);