C# 如何在文本文件末尾写入新数字
我尝试在文本文件的末尾添加一个数字,而不覆盖该文件。目前,我尝试从文件中读取数据,将数据存储到字符串中,然后添加到列表中,在列表中添加新的整数,然后写入文件C# 如何在文本文件末尾写入新数字,c#,C#,我尝试在文本文件的末尾添加一个数字,而不覆盖该文件。目前,我尝试从文件中读取数据,将数据存储到字符串中,然后添加到列表中,在列表中添加新的整数,然后写入文件 M = @"C:\Mental.txt"; StreamReader content = new StreamReader(M, Encoding.Default); string m = content.ReadToEnd(); List<int> num = new List<int>(m.Sp
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);
它现在将包含
1
2
3
4
4
4
4
4
4
4
4
...etc
试试这个方法
编辑:
你的代码在我的机器上运行良好,你能检查一下你的
函数不会反复调用或在循环中调用
附加到文件之前,不需要读取整个文件。试着这样做:
using (StreamWriter w = File.AppendText("filename"))
{
w.WriteLine("something to append");
}
这段代码似乎没有任何根本性的错误。除了你这里的东西,还有其他的东西吗?是的,不仅仅是这个,正如Mayur所指出的,下面是循环。我太专注于这个问题了,我忘了代码是从哪里调用的,它经常更新,这可以解释为什么添加的数量会激增。谢谢!我真蠢。是的,我完全忽略了这一点。使用XNA和我最初只是为了测试目的而加入到游戏更新方法中,这样我就可以让代码正常工作,因为它还没有被使用。我很高兴它没有什么问题。我当时正失去理智。是的,我最初是从这个开始的,但显然是失控了,试图得到不同的结果。非常感谢。
String filePath = @"C:\Mental.txt";
File.AppendAllText(filePath , "content");
using (StreamWriter w = File.AppendText("filename"))
{
w.WriteLine("something to append");
}