对于web程序
配置文件通常位于:根目录下且名称为web.config
对于客户端程序
配置文件通常与应用程序位于同一目录,名称为应用程序名+".config"
应用程序FotoVision.exe
配置文件FotoVision.exe.config
通常我们会为应用程序创建App.Config此文件会位于根目录下.系统则会为你自动添加 应用程序名+".config"
位于 bin/debug/目录下
有应用程序FotoVision.exe
与配置文件FotoVision.exe.config
注意:App.Config名称不能更改 (默认系统不会为您添加配置文件,需自己创建)
都说了这是通常,所有也会有不通常.那就是FotoVision.
在FotoVision中你看不到配置文件FotoVision.exe.config 也看不到App.config
那是不是说它没有实现配置文件呢?它又有,那在哪呢?
在我的电脑上(注意是我的电脑,可不是你们的噢!)有以下路径是成立
C:\Documents and Settings\阿鹏\Application Data\FotoVision\1.0\FotoVision.exe.config
有没有感到一些奇怪呢?为什么要放在这里.
阿鹏是电脑的一个系统用户,即当前登录电脑的用户
Application Data文件夹是一个隐藏文件夹,所以你需要显示所有文件才行
系统会根据当前登录的用户自动加载他的Application Data文件夹下的内容
这也就是为什么FotoVision会在该目录中创建
FotoVision(产品名称)\1.0(版本)\FotoVision.exe.config(配置文件名称)
<configuration>
<appSettings>
<add key="" value="" />
</appSettings>
</configuration>
我们可以利用它来存放使用该软件用户的具体设置,以做到更好的人机交互
先来说说我们怎么找到该配置文件的路径:
C:\Documents and Settings\阿鹏\Application Data\FotoVision\1.0\FotoVision.exe.config
只有先有这个路径我们才能实现对吧.当然这个路径可不是一个简单的字符串而已,你的电脑的系统用户可不一定是阿鹏
配置文件通常位于:根目录下且名称为web.config
对于客户端程序
配置文件通常与应用程序位于同一目录,名称为应用程序名+".config"
应用程序FotoVision.exe
配置文件FotoVision.exe.config
通常我们会为应用程序创建App.Config此文件会位于根目录下.系统则会为你自动添加 应用程序名+".config"
位于 bin/debug/目录下
有应用程序FotoVision.exe
与配置文件FotoVision.exe.config
注意:App.Config名称不能更改 (默认系统不会为您添加配置文件,需自己创建)
都说了这是通常,所有也会有不通常.那就是FotoVision.
在FotoVision中你看不到配置文件FotoVision.exe.config 也看不到App.config
那是不是说它没有实现配置文件呢?它又有,那在哪呢?
在我的电脑上(注意是我的电脑,可不是你们的噢!)有以下路径是成立
C:\Documents and Settings\阿鹏\Application Data\FotoVision\1.0\FotoVision.exe.config
有没有感到一些奇怪呢?为什么要放在这里.
阿鹏是电脑的一个系统用户,即当前登录电脑的用户
Application Data文件夹是一个隐藏文件夹,所以你需要显示所有文件才行
系统会根据当前登录的用户自动加载他的Application Data文件夹下的内容
这也就是为什么FotoVision会在该目录中创建
FotoVision(产品名称)\1.0(版本)\FotoVision.exe.config(配置文件名称)
<configuration>
<appSettings>
<add key="PromptInitialMessage" value="False" />
<add key="PublishPhotoSize" value="500" />
<add key="LastAlbum" value="Babyssss" />
<add key="ImportLocation" value="F:\图库\3D酷图" />
<add key="EmailSubject" value="New photos are available" />
<add key="ServiceTimeout" value="90" />
<add key="ImportFilterIndex" value="2" />
<add key="DetailsPaneWidth" value="399" />
<add key="PromptFileDelete" value="true" />
<add key="AlbumPaneWidth" value="205" />
<add key="MaintainExifInfo" value="true" />
<add key="ShowStatusDetails" value="true" />
<add key="ServiceLocation" value="http://localhost/FotoVisionVB" />
<add key="PublishPhotoQuality" value="85" />
<add key="WindowPlacement" value="0,88,1007,636" />
<add key="CloseAfterUpload" value="true" />
</appSettings>
</configuration>
这是配置文件中的内容:自己添加的,关于具体的就先不管了,主要格式是<appSettings>
<add key="PromptInitialMessage" value="False" />
<add key="PublishPhotoSize" value="500" />
<add key="LastAlbum" value="Babyssss" />
<add key="ImportLocation" value="F:\图库\3D酷图" />
<add key="EmailSubject" value="New photos are available" />
<add key="ServiceTimeout" value="90" />
<add key="ImportFilterIndex" value="2" />
<add key="DetailsPaneWidth" value="399" />
<add key="PromptFileDelete" value="true" />
<add key="AlbumPaneWidth" value="205" />
<add key="MaintainExifInfo" value="true" />
<add key="ShowStatusDetails" value="true" />
<add key="ServiceLocation" value="http://localhost/FotoVisionVB" />
<add key="PublishPhotoQuality" value="85" />
<add key="WindowPlacement" value="0,88,1007,636" />
<add key="CloseAfterUpload" value="true" />
</appSettings>
</configuration>
<configuration>
<appSettings>
<add key="" value="" />
</appSettings>
</configuration>
我们可以利用它来存放使用该软件用户的具体设置,以做到更好的人机交互
先来说说我们怎么找到该配置文件的路径:
C:\Documents and Settings\阿鹏\Application Data\FotoVision\1.0\FotoVision.exe.config
只有先有这个路径我们才能实现对吧.当然这个路径可不是一个简单的字符串而已,你的电脑的系统用户可不一定是阿鹏
private void InitFilePath()
{
string[] ver = System.Windows.Forms.Application.ProductVersion.Split('.');
string app = string.Format(
"{0}\\{1}.{2}",
System.Windows.Forms.Application.ProductName,
ver[0],
ver[1]
);
/*
Application.ProductVersion产品版本为1.0.0.0 Application.ProductName产品名称为FotoVision
则app为FotoVision\1.0
您可以右键查看FotoVision.exe的属性就会发现
*/
string folder = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
app
);
/*
Environment提供有关当前环境和平台的信息以及操作它们的方法
Environment.SpecialFolder指定用于检索系统特殊文件夹的目录路径的枚举常数
Environment.SpecialFolder.ApplicationData目录,它用作当前漫游用户的应用程序特定数据的公共储存库。 漫游用户在网络上的多台计算机上工作。漫游用户的配置文件保存在网络服务器上,当用户登录到某个系统上时,它会加载到该系统。
Environment.GetFolderPath()获取指向由指定枚举标识的系统特殊文件夹的路径
那么Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)的值是什么呢?
C:\Documents and Settings\阿鹏\Application Data
所以folder为C:\Documents and Settings\阿鹏\Application Data\FotoVision\1.0
*/
if (!Directory.Exists(folder))
Directory.CreateDirectory(folder);
FilePath = Path.Combine(folder, Path.GetFileName(System.Windows.Forms.Application.ExecutablePath) + ".config");
/*
FilePath为
C:\Documents and Settings\阿鹏\Application Data\产品名称\1.0\FotoVision.EXE.config
Application.ExecutablePath
为C:\Program Files\Smart Client Samples\FotoVision\1.0\VB\Desktop\Bin\FotoVision.exe为应用程序的可执行文件路径
*/
}
{
string[] ver = System.Windows.Forms.Application.ProductVersion.Split('.');
string app = string.Format(
"{0}\\{1}.{2}",
System.Windows.Forms.Application.ProductName,
ver[0],
ver[1]
);
/*
Application.ProductVersion产品版本为1.0.0.0 Application.ProductName产品名称为FotoVision
则app为FotoVision\1.0
您可以右键查看FotoVision.exe的属性就会发现
*/
string folder = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
app
);
/*
Environment提供有关当前环境和平台的信息以及操作它们的方法
Environment.SpecialFolder指定用于检索系统特殊文件夹的目录路径的枚举常数
Environment.SpecialFolder.ApplicationData目录,它用作当前漫游用户的应用程序特定数据的公共储存库。 漫游用户在网络上的多台计算机上工作。漫游用户的配置文件保存在网络服务器上,当用户登录到某个系统上时,它会加载到该系统。
Environment.GetFolderPath()获取指向由指定枚举标识的系统特殊文件夹的路径
那么Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)的值是什么呢?
C:\Documents and Settings\阿鹏\Application Data
所以folder为C:\Documents and Settings\阿鹏\Application Data\FotoVision\1.0
*/
if (!Directory.Exists(folder))
Directory.CreateDirectory(folder);
FilePath = Path.Combine(folder, Path.GetFileName(System.Windows.Forms.Application.ExecutablePath) + ".config");
/*
FilePath为
C:\Documents and Settings\阿鹏\Application Data\产品名称\1.0\FotoVision.EXE.config
Application.ExecutablePath
为C:\Program Files\Smart Client Samples\FotoVision\1.0\VB\Desktop\Bin\FotoVision.exe为应用程序的可执行文件路径
*/
}
这样FilePath就是我们想要的路径了C:\Documents and Settings\阿鹏\Application Data\产品名称\1.0\FotoVision.EXE.config
接下来我们就可以利用XmlTextWirter和XmlTextReader或XmlDocument来读写这个xml配置文件了
至于具体实现在下一篇实现里会详细说明