-1
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 中的一个键,其 value="C:\Users\MyPC\Desktop\textfile.txt"

如果我删除键并在代码中初始化一个字符串,它会显示错误值不能为空。请帮忙!

4

1 回答 1

1

从返回的目录字符串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);
}
于 2013-09-17T19:49:25.283 回答