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:UsersUserDesktoptextfile.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);
}