我需要一些帮助才能在txt.file中输入数据。 这是以下代码:
StreamWriter file = new StreamWriter("opslag_kentekens");
string opslag_kentekens = textBox1.Text;
file.WriteLine(opslag_kentekens);
file.Close();
label20.Text = File.ReadAllText("opslag_kentekens");
所以当我点击我的按钮时,文本在textBox1.text中输入的内容 必须去我的opslag_kentekens.txt。这工作正常但是当想要在我的txt中输入新文本时,它会覆盖第一个输入的文本。我希望每个文本都互相输入。我该怎么做呢? (抱歉我的英语不好)。
答案 0 :(得分:2)
file.WriteLine()
不会保留您现有的文字。
您可以改为使用File.AppendAllText(String, String)
:
https://msdn.microsoft.com/en-us/library/ms143356(v=vs.110).aspx
答案 1 :(得分:1)
试试这个
new StreamWriter(" opslag_kentekens",true);
答案 2 :(得分:1)
将构造函数更改为use the append
overload并将其设置为true,这应该有效。
StreamWriter file = new StreamWriter("opslag_kentekens", true);
答案 3 :(得分:1)
基本上你正在寻找附加到文件:
来自msdn:
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
// This text is added only once to the file.
if (!File.Exists(path))
{
// Create a file to write to.
using (StreamWriter sw = File.CreateText(path))
{
sw.WriteLine("Hello");
sw.WriteLine("And");
sw.WriteLine("Welcome");
}
}
// This text is always added, making the file longer over time
// if it is not deleted.
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine("This");
sw.WriteLine("is Extra");
sw.WriteLine("Text");
}
// Open the file to read from.
using (StreamReader sr = File.OpenText(path))
{
string s = "";
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
}
}
通常,对于写作(不附加),使用文件写入方法更容易,因为它们更清晰,更能传达您的意思:
var some_text = "this is some text";
var out_path = @"C:\out_example.txt";
System.IO.File.WriteAllLines(out_path, some_text);
更好更清洁,看看@Liem的答案,这是相同的,但使用正确的Append
语法。