2013-02-14 22 views
7

Sto tentando di salvare il file delle mie impostazioni dell'applicazione .NET nella cartella% MyDocument% \ MyApplication dell'utente, ma non so come verificare la presenza di una cartella esistente \ file e creare o aggiungi la cartella \ file al salvataggio. Non voglio aprire saveFileDialog perché ho bisogno che il file si trovi nello stesso posto su tutti i computer degli utenti. Questo è quello che ho finora, ma non funziona. Tutto l'aiuto sarebbe apprezzato:Salva file in MyDocuments + App Folder

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

Hai esaminato il metodo 'Directory.Exist() 'per la cartella o se conosci il percorso completo puoi controllare' File.Exist() ' metodo anche perché stai usando 'RegEx.Replace' quando puoi usare il built nel metodo' string.Replace() '.. anche il tuo' string.Format ("{0} \\ {1}" 'non è quello mettendo un extra 2 backslash' \\ 'nel tuo percorso ..? – MethodMan

+0

il" \\ "è necessario per uscire dal" \ " – Jeagr

risposta

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 ... sai come impostare il percorso della directory MyDocs predefinita? sta creando una nuova cartella MyDocuments nella mia cartella \ bin \ Debug \ – Jeagr

+1

@Jeagr Penso di vedere perché, controlla la mia risposta –

+0

Ahh ... sì! Grazie CC! – Jeagr

3

System.IO.Directory.CreateDirectory (Server.MapPath (percorso)); // non è necessario controllare se esiste prima