【问题标题】:Save File to MyDocuments + App Folder将文件保存到 MyDocuments + App 文件夹
【发布时间】:2013-01-29 17:33:39
【问题描述】:

我正在尝试将我的 .NET 应用程序设置文件保存到用户的 %MyDocument%\MyApplication 文件夹,但我不知道如何检查现有文件夹\文件,并在保存时创建或附加文件夹\文件.我不想打开 saveFileDialog 因为我需要文件在所有用户计算机上的同一个位置。这是我到目前为止所拥有的,但它不起作用。任何帮助将不胜感激:

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

【问题讨论】:

  • 你有没有看过Directory.Exist()' method for the folder or if you know the full path you can check the File.Exist()`方法,当你可以使用内置的string.Replace()方法时,你为什么还要使用RegEx.Replace..还有你的string.Format("{0}\\{1}"那不是在你的路径中多加了 2 个反斜杠`\`..?
  • 需要“\\”来转义“\”

标签: c# file append savefiledialog appsettings


【解决方案1】:
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
}

【讨论】:

  • CC...你知道如何设置默认 MyDocs 目录的路径吗?我的构建是在我的 \bin\Debug\folder 中创建一个新的 MyDocuments 文件夹。
  • @Jeagr 我想我明白为什么了,检查我的答案
  • 你应该使用string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),"MyApp","settings.dat");
【解决方案2】:

System.IO.Directory.CreateDirectory(Server.MapPath(path)); //你不需要先检查它是否存在

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-23
    • 2012-08-31
    • 2022-11-20
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多