创建和使用c#应用程序文件夹

时间:2014-01-24 10:20:28

标签: c# directory appdata

我正在创建一个应用程序,它在我手动创建的一个文件夹中使用照片和XML文件, 我想让用户通过应用程序在运行时更新该文件夹的数据(添加照片和编辑Xml文件) 我的问题是什么是最好的方法以及放置该文件夹的位置, 我知道我必须把那些相对的路径放在一边让我感到很困惑 是否在AppData中如果是这样的话。

4 个答案:

答案 0 :(得分:6)

// Use this to get the common directory
string CommonDir = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);

// And combine it with your own. 
// On Window7 this will return "c:\ProgramData\YourCompany\YourProduct"
string YourDir = Path.Combine(CommonDir, @"YourCompany\YourProduct");

// And create the directory / ensure it exists
System.IO.Directory.CreateDirectory(YourDir);

您可以从系统中获取其他Special Folders,例如MyDocumentsDesktop,以满足您的最佳需求。

答案 1 :(得分:2)

首先右键单击项目资源管理器并添加新文件夹,它会显示空文件夹并将此文件放入其中。

答案 2 :(得分:0)

请注意:System.IO.IsolatedStorage

您可以使用不同的隔离范围管理文件,而不必担心其实际位置:

  

应用程序 - 作用于应用程序的隔离存储。

     

程序集 - 作用于程序集标识的独立存储。

     

- 作用域应用程序域标识的隔离存储。

     

计算机 - 作用于计算机的隔离存储。

     

- 没有孤立的存储空间使用。

     

漫游 - 可以将隔离的商店放置在文件的某个位置   可能漫游的系统(如果漫游用户数据已启用)   基础操作系统)。

     

用户 - 按用户身份确定的隔离存储空间。

(从这里:http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragescope(v=vs.110).aspx

但是你可能不需要对文件隔离进行这样的控制。在这种情况下,您只需使用本地用户的aplication文件夹:

string path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

看看:Environment.SpecialFolder - 那里有很多有用的地方。

当然,您可以随时使用应用程序的文件夹:

AppDomain.CurrentDomain.BaseDirectory

访问它的另一种方式:Best way to get application folder path

答案 3 :(得分:0)

您不应将文件夹放在解决方案的一个文件夹中,例如AppData(AppData实际上是一个文件夹,可以包含数据库文件),因为当您完成应用程序的开发时,您只需获得.EXE输出文件(即放在Debug文件夹中),这是您使用它的文件,或者例如将其提供给您的客户。 (但是你说的AppData这样的文件夹只放在你的解决方案中)

因此,您可以随意创建文件夹。 但是我建议你在应用程序的当前目录中创建它。 (.EXE文件)

您可以使用Environment class =>来引用当前目录。 Environment.CurrentDirectory