2

好的,我花了很多时间试图解决我读过的帖子所说的简单修复。

我想在我的文档中写入一个文件,这是我的代码。

        string st = @"C:\Users\<NAME>\Documents\Sample1.txt";

        System.IO.StreamWriter file = new System.IO.StreamWriter(st);
        file.WriteLine(Convert.ToString(Sample1[0]));
        file.Close();

用户名在哪里。我收到以下错误

“在 mscorlib.ni.dll 中发生了‘System.IO.DirectoryNotFoundException’类型的第一次机会异常。在 mscorlib.ni.dll 中发生了‘System.IO.DirectoryNotFoundException’类型的异常,但未在用户代码中处理”

我正在使用 Visual Studio Express 进行 Windows Phone 开发。

如果有人能指出我做错了什么,我将不胜感激。

谢谢。

4

3 回答 3

2

我假设您正在使用已发布的字符串。如果是这种情况,您应该改用SpecialFolder枚举。

var st = string.format(@"{0}\Sample1.txt", 
             Environment.GetFolderPath(Environment.SpecialFolder.Personal));
于 2012-12-30T23:29:35.573 回答
1

您应该利用Environment.SpecialFolder枚举并使用Path.Combine(...)来创建路径:

var path = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.Personal),
    "Sample1.txt");

using (var sw = new StreamWriter(path))
{
    sw.WriteLine(Convert.ToString(Sample1[0]));
}

此外,StreamWriter应该放在using声明中,因为它是一次性的。

于 2012-12-30T23:33:15.927 回答
0

要获取 MyDocuments,请使用:

    Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

这将返回主计算机上 MyDocuments 的路径。

您可以在 MSDN 上查看 SpecialFolders 列表:http: //msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx

编辑:我刚刚注意到您正在为 Windows Phone 开发。阅读 MSDN 上的其他 SpecialFolders。

于 2012-12-30T23:34:55.010 回答