-2

我知道有很多与这个问题相关的答案,但我还没有找到解决方案。

这是一个 WPF 应用程序,它从我的桌面运行,我是这台计算机的唯一用户。

我试过保存到桌面、TEMP、C:、Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

但是我尝试过的目录都没有工作,所以我有点迷茫/困惑。

FileStream file = new FileStream("C:\\Users\\<username>\\AppData\\Local\\Temp",FileMode.OpenOrCreate, 
                  FileAccess.Write, 
                  FileShare.ReadWrite);

StreamWriter sr = new StreamWriter(file);
sr.WriteLine(data);

sr.Close();

编辑:

代码错误,对不起,我现在想通了:

StreamWriter sr = new StreamWriter("C:\\Users\\Mike\\AppData\\Local\\Temp\\test.txt");
sr.WriteLine(data);
sr.Close();
4

3 回答 3

0

如果您需要在用户 PC 上为您的应用程序保存一些文件,最好的选择是在 AppData 文件夹中执行此操作。这是所有程序都应该编写它们的临时文件的地方(不管不是每个人都使用它)你可以通过在开始菜单运行行中输入 %appdata% 来访问它,如下所示:

Environment.SpecialFolder.ApplicationData

在您的 C# 应用程序中。希望这对您有所帮助。

于 2012-04-05T11:07:41.263 回答
0

您的本地文件夹很可能包含名为“TEMP”的文件夹。这将因您的新 FileStream 而失败。此外,您应该为“用户名”设置一个真实的用户名,但这可能只是从其他地方复制的文本。

但是尝试以这种方式

string destPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string destFile = Path.Combine(destPath, "myTempFile.txt");
FileStream file = new FileStream(destFile,FileMode.OpenOrCreate,FileAccess.Write, FileShare.ReadWrite);  
于 2012-04-05T11:08:58.127 回答
0

像这样写你的文件

//this is what you want to write
    string whatiWantToWrite = "Hello, i am a noob!";
       //This is how you write your file 
                    System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\\path\\to\\Desktop\\myfile.txt");
                    file.WriteLine(whatiWantToWrite);
                    file.Close();
于 2012-04-05T11:18:16.890 回答