2013-02-14 97 views
7

我试图将我的.NET应用程序设置文件保存到用户的%MyDocument%\ MyApplication文件夹,但我不知道如何检查现有文件夹\文件,并创建或在保存时附加文件夹\文件。我不想打开saveFileDialog,因为我需要该文件位于所有用户计算机上的相同位置。这是我迄今为止,但它不工作。任何帮助,将理解:将文件保存到MyDocuments +应用程序文件夹

var saveSettings = settingsList.text; //assign settings to a variable 
saveSettings = Regex.Replace(saveSettings, @"\s+", "").Trim() + Environment.NewLine; //remove any extra spaces and add a carriage return so that each setting is on a new line    

var fileName = string.Format("{0}\\{1}", Environment.SpecialFolder.MyDocuments + "\\MyApp\\", "settings.dat"); //generate path to settings.dat 
File.AppendAllText(fileName, saveSettings); //save settings.dat 
+0

你看过文件夹的'Directory.Exist()'方法,或者你知道完整的路径,你可以检查File.Exist()方法也为什么你可以使用内置的'string.Replace()'方法时使用'RegEx.Replace' ..你的'string.Format(“{0} \\ {1}”''不是那个在你的路径中添加一个额外的2个反斜杠..? – MethodMan 2013-02-14 00:56:58

+0

需要“\\”来转义“\” – Jeagr 2013-02-14 01:10:54

回答

27
string path = System.IO.Path.Combine(Environment.GetFolderPath(
    Environment.SpecialFolder.MyDoc‌​uments),"MyApp","settings.dat"); 

if(Directory.Exists(path)) 
{ 
    //Exists 
} 
else 
{ 
    //Needs to be created 
} 
+0

CC ...你知道如何设置默认MyDocs目录的路径吗?我的构建在我的\ bin \ Debug \文件夹中创建一个新的MyDocuments文件夹。 – Jeagr 2013-02-14 01:10:27

+1

@Jeagr我想我明白了为什么,请检查我的答案 – 2013-02-14 01:30:49

+0

Ahh ...是的!谢谢CC! – Jeagr 2013-02-14 01:41:16

3

System.IO.Directory.CreateDirectory(使用Server.Mappath(路径)); //你不需要检查它是否先存在

相关问题