将文本框中的数据保存到文本文件中

Posted

技术标签:

【中文标题】将文本框中的数据保存到文本文件中【英文标题】:Saving data from textboxes into text file 【发布时间】:2014-04-02 23:35:32 【问题描述】:

我正在尝试为我编写一个程序应该比它证明的要容易得多。 我有一个带有文本框的表单,要求用户输入他们的详细信息,例如姓名、地址等。我想要实现的是当用户点击保存按钮时,将文本框中的数据保存到 .txt 文件中。

我可以创建文件,但数据不会保存到文件中。 我已经在下面发布了我的代码,我们将不胜感激您的任何帮助。

private void btnSave_Click(object sender, EventArgs e)

    string file_name = "e:\\test1.txt";

    System.IO.StreamWriter objWriter;
    objWriter = new System.IO.StreamWriter(file_name, true);

    objWriter.Write(txtName.Text);
    objWriter.Write(txtAddress.Text);
    objWriter.Write(txtEmail.Text);
    objWriter.Write(txtPhone.Text);

    MessageBox.Show("Details have been saved");

【问题讨论】:

【参考方案1】:

在存在 StreamWriter 的代码行的开头使用 using 会更实用。这是为了确保数据是Disposed,您需要它来解锁流中的数据。

写入数据时:

 using (StreamWriter objWriter = new StreamWriter("test1.txt"))

    objWriter.Write(txtName.Text);
    objWriter.Write(txtAddress.Text);
    objWriter.Write(txtEmail.Text);
    objWriter.Write(txtPhone.Text);

    MessageBox.Show("Details have been saved");

在读取保存的数据时,我们以列表框为例:

  foreach (var line in File.ReadAllLines("test1.txt"))

    listBox1.Items.Add(line);

希望这会有所帮助!

【讨论】:

感谢您的帮助,您读取数据的代码对我有用。 没问题我的朋友。也许您可以接受我的回答,以便可以将此线程标记为已解决。谢谢!【参考方案2】:

将实现IDisposable 的局部变量包装到using 语句中是一种很好的做法:

using (StreamWriter objWriter = new StreamWriter(file_name, true))

    objWriter.Write(txtName.Text);
    objWriter.Write(txtAddress.Text);
    objWriter.Write(txtEmail.Text);
    objWriter.Write(txtPhone.Text);

这也有一个积极的副作用:在执行using 语句后,流立即被刷新和关闭。

建议:考虑使用WriteLine 而不是Write,因为您可能需要在字符串值之间使用分隔符。

【讨论】:

感谢您的快速回复。我决定用 WriteLine 而不是 write。【参考方案3】:

完成后调用StreamWriter.Flush方法:

objWriter.Flush();

清除当前写入器的所有缓冲区,并将所有缓冲数据写入底层流。

您也可以使用File.WriteAllText 方法来做到这一点:

var line = string.Join(" ", txtName.Text, txtAddress.Text, txtEmail.Text,txtPhone.Text);
File.WriteAllText(file_name, line);

【讨论】:

以上是关于将文本框中的数据保存到文本文件中的主要内容,如果未能解决你的问题,请参考以下文章

如何将文本文件中的原始数据加载到熊猫数据框中?

使用 SaveFileDialog 将数据保存到文本文件?

使用SaveFileDialog将数据保存到文本文件?

JAVA 在GUI中的文本框输入数据 保存到vector 对象中,在程序退出(按右上角的红叉)通过对象流把

请问在c# winform中怎么将文本框中的数值保存到数据库中money类型的字段中???

java图形界面怎样将文本文件里的数据输入到文本框和将文本框中的数据输入到文本文件 急求解在线等可加分