C# 向文本文件追加文本时出现问题?
我正在尝试编写一个代码,用户在文本框中输入交货细节,然后将文本添加到一个txt文件记事本txt文件中。 这是我的尝试,我得到一个额外的行,为什么它不添加文本从文本框到文本文件C# 向文本文件追加文本时出现问题?,c#,append,streamwriter,C#,Append,Streamwriter,我正在尝试编写一个代码,用户在文本框中输入交货细节,然后将文本添加到一个txt文件记事本txt文件中。 这是我的尝试,我得到一个额外的行,为什么它不添加文本从文本框到文本文件 private void FrmDelivery_Load(object sender, EventArgs e) { if (theDelivery != null) { txtCustomerName.Text = theDelivery.customerName; tx
private void FrmDelivery_Load(object sender, EventArgs e)
{
if (theDelivery != null)
{
txtCustomerName.Text = theDelivery.customerName;
txtCustomerAddress.Text = theDelivery.customerAddress;
txtArrivalTime.Text = theDelivery.arrivalTime;
using (StreamWriter writer = new StreamWriter("visits.txt", true)) //true shows that text would be appended to file
{
writer.WriteLine(theDelivery.customerName + ", " + theDelivery.customerAddress + ", " + theDelivery.arrivalTime);
}
}
}
…因为您没有将文本框的内容写入文件。。您正在编写的变量似乎未在任何地方初始化: 固定的:
writer.WriteLine(txtCustomerName.Text + ", " + txtCustomerAddress.Text + ", " + txtArrivalTime.Text); // Fixed.
而且,你是在表单加载的情况下完成的。。此时文本框中是否有数据,或者交付是否已初始化?问题是您正在表单加载时写入文件。我假设您只想在用户更改某些内容时写入它 因此,您可以处理“保存”按钮的单击事件以写入:
private void FrmDelivery_Load(object sender, EventArgs e)
{
if (theDelivery != null)
{
txtCustomerName.Text = theDelivery.customerName;
txtCustomerAddress.Text = theDelivery.customerAddress;
txtArrivalTime.Text = theDelivery.arrivalTime;
}
}
private void btnSave_Click(object sender, System.EventArgs e)
{
string line = string.Format("{0},{1},{2}{3}"
, txtCustomerName.Text
, txtArrivalTime.Text
, theDelivery.arrivalTime
, Environment.NewLine);
File.AppendAllText("visits.txt", line);
}
只是另一种写入文件的舒适方式。您的customerName、customerAddress和Delivery对象的arrivalTime字符串属性都初始化为空字符串。在写入文件之前,您应该设置一些字符串。我有两个表单,在主表单中有一个列表框,用于显示交付,当您单击其中一个交付时,其详细信息将显示在另一个表单中。然后,代码中会出现更大的问题。在该行上放置断点。。文本框或变量中是否有数据?文本框中是否有输入的数据..表单加载时是否有数据?你有没有使用过调试器?我有一个txt文件,其中包含数据并在开始时加载。交付是从类delivery创建的对象。用于写入文件的代码看起来很好,你甚至可以得到,。因此,使用调试器并找出delivery.customerName等为空的原因。-1。请将您的标题和示例代码对齐:您的标题询问如何附加到文件中,但您的代码和问题的文本表明,只要没有值,附加就可以很好地工作。