我的 wpf 应用程序可以将记事本文件保存在我在 app.config 中提供的固定路径上作为密钥,但我希望它保存在用户
本文关键字:保存 存在 路径 用户 我希望 密钥 应用程序 wpf 记事本 文件 config | 更新日期: 2023-09-27 18:31:36
private void WriteToFile(TextRange textRange)
{
using (StreamWriter oWriter = new StreamWriter(ConfigurationManager.AppSettings["folderpath"], true))
{
oWriter.WriteLine(DateTime.Now.ToString());
oWriter.WriteLine("*****************************************************************************");
oWriter.WriteLine(textRange.Text);
oWriter.WriteLine("*****************************************************************************");
oWriter.WriteLine("*****************************************************************************");
oWriter.Write("$");
}
MessageBox.Show(folderpath);
}
代码中的文件夹路径是 app.config 中的一个键,值="C:''Users''MyPC''Desktop''textfile.txt"
如果我删除密钥并在代码中初始化字符串,它会显示错误 值不能为空.请帮忙!
从 Environment.GetFolderPath
返回的目录字符串不包含尾随/
因此生成的字符串最终为:C:'Users'User'Desktoptextfile.txt
我强烈建议使用 Path.Combine()
将文件名附加到路径中,以防止这种情况发生。
前任:
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "textfile.txt")
代码的完整示例:
private void WriteToFile(TextRange textRange)
{
string folderpath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "textfile.txt");
using (StreamWriter oWriter = new StreamWriter(folderpath, true))
{
oWriter.WriteLine(DateTime.Now.ToString());
oWriter.WriteLine("*****************************************************************************");
oWriter.WriteLine(textRange.Text);
oWriter.WriteLine("*****************************************************************************");
oWriter.WriteLine("*****************************************************************************");
oWriter.Write("$");
}
MessageBox.Show(folderpath);
}