如何在文本文件的末尾写一个新数字

本文关键字:新数字 数字 一个 文本 文件 | 更新日期: 2023-09-27 18:03:50

我试图在不覆盖文本文件的情况下,在文本文件的末尾添加一个数字。目前,我尝试从文件中读取数据,将数据存储到字符串中,然后添加到列表中,向列表中添加一个新整数,然后写入文件。

M = @"C:'Mental.txt";      
StreamReader content = new StreamReader(M, Encoding.Default);
string m = content.ReadToEnd();
List<int> num = 
  new List<int>(m.Split((string[])null, StringSplitOptions.RemoveEmptyEntries)
  .Select(int.Parse));
num.Add(4);
content.Close();
content.Dispose();
var s = num.Select(i => i.ToString()).ToArray();
File.WriteAllLines(M,s);

如果你对如何编写代码或为什么它不起作用有任何其他建议,我将不胜感激。我已经尝试了许多不同的代码变体,但在输出与我的文件相同的数据时,同样的问题不断出现,但后来添加了许多'4',我只想添加一个。

I.E如果我的文件以前包含:

1
2
3

它现在将包含

1
2
3
4
4
4
4
4
4
4
4
...etc

如何在文本文件的末尾写一个新数字

String filePath = @"C:'Mental.txt";
File.AppendAllText(filePath , "content");

试试这个方法

编辑:

你的代码在我的机器上运行良好,你能检查一下你的函数不会被反复调用或在循环中调用

在附加到整个文件之前,不需要读取整个文件

using (StreamWriter w = File.AppendText("filename"))
{
  w.WriteLine("something to append");
}