如何将文本保存在平面文件中的文本框中
本文关键字:文本 平面文件 保存 存在 | 更新日期: 2023-09-27 18:34:04
我开发了一个带有GUI的C#应用程序,并在文本框中保留了一些日志。当用户单击保存按钮时,文件夹浏览器对话框将打开。用户选择一个目录,然后单击确定。将显示消息框,其中包含一条消息"已保存到文件..."。操作完成。
我说的所有这些都发生了,但是 用户指定的 目录中没有文件 。当我既不使用 TextWriter 对象也不使用 File.WriteAllText(..) 时,我总是失败。下面的代码有问题吗?
private void saveBtn_Click(object sender, EventArgs e)
{
if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
{
// create a writer and open the file
TextWriter tw = new StreamWriter(folderBrowserDialog.SelectedPath + "logFile.txt");
// write a line of text to the file
tw.WriteLine(histTxt.Text);
// close the stream
tw.Close();
//File.WriteAllText(folderBrowserDialog.SelectedPath + "logFile.txt", histTxt.Text);
MessageBox.Show("Saved to " + folderBrowserDialog.SelectedPath + "''logFile.txt", "Saved Log File", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
使用 Path.Combine
创建/添加文件路径,如下所示:
TextWriter tw = new StreamWriter(Path.Combine(folderBrowserDialog.SelectedPath, "logFile.txt"));
如果需要,这将添加当前操作系统的路径分隔符。
创建流时,请使用 using 子句自动释放资源。如果要创建文件:
using (FileStream fs = File.Create(path))
using (TextWriter tw = new StreamWriter(fs))
{
tw.WriteLine(histTxt.Text);
tw.Close();
}
该代码应该有效,并释放 File.Create 方法在文件上创建的锁。