在读写文件的时候要读取配置文件的Path,为什么呢?
来源:互联网 发布:五笔输入法 for linux 编辑:程序博客网 时间:2024/06/09 01:57
通常在菜鸟级别的编程中,代码读写时,都是将路径写死在代码里(专业点说成绝对路径,像是@"D:/GMDID_MDM/WebSite/Web.config"),这样写为以后代码管理和项目部署带来很大的麻烦。ex,每次路径修改后都需要编译才能正常运行代码,并且每需要用到该路径时都要重新输入一遍Path。
改进的办法是使用相对路径,如"~/Web.config",这样就可以在项目整迁移到其他地方的时候依然可以运行代码,但是需要加入AppDomain.CurrentDomain.BaseDirectory类似的方法,才可以找到路径,并且当部署到IIS上之后还会出现找不到路径的错误,因为IIS的执行路径是C:/WINDOWS下,所以找不到Path了,而且当该Path需要修改并且使用N次的时候,必须对应的修改Path N次,麻烦的不得了。
改进的方法是新建一个Constant类,保存Constant信息,如定义public const string strPath = "D:/GMDID_MDM/WebSite/Web.config"; 这样当需要用到Path的时候只要通过类名找到该Path就行了,如Constant.strPath,修改也只要修改一次strPath就行了,不过这样还是有一个坏处,就是当你需要更改文件Path时,必须重新编译才能部署。
改进的方法是通过XML或Web.config,在Web.config添加如下
<appSettings>
<add key="strPath" value="D:/GMDID_MDM/WebSite/Web.config"/>
</appSettings>
然后在代码中通过System.Configuration.ConfigurationSettings.AppSettings["strPath"].ToString();读取XML中的Path信息,这样当Project部署之后,需要改变文件的Path只需要修改配置文件即可,不必再次运行编译代码。
接着改进,在Constant类中定义public const string strPath = System.Configuration.ConfigurationSettings.AppSettings["strPath"].ToString();这样代码就清晰多了。
- 在读写文件的时候要读取配置文件的Path,为什么呢?
- 为什么要配置JAVA的path呢?
- istringstream在读文件时候的应用
- 自己在读写文件遇到的问题
- 在读写二进制数据的时候,一定要用"rb”,“wb”
- 如何在读文件的时候区分中文还是英文
- 在读取java文件的时候用到了递归
- 读取磁盘文件的时候为什么老是出现乱码?
- 为什么下雪的时候城市就感觉安静了呢?
- Java在读取文件内容的时候,如何判断出空白行
- 为什么要写@Override呢?
- 为什么我写的文章在外面看不到的呢?
- 为什么你写的Python运行的那么慢呢?
- 为什么覆写equals的时候一定要覆写hashCode?
- 为什么覆写equals的时候一定要覆写hashCode
- 为什么覆写equals的时候一定要覆写hashCode
- 为什么覆写equals的时候一定要覆写hashCode?
- 为什么覆写equals的时候一定要覆写hashCode?
- 【C++】[转]“靠近定义变量”之真正原因
- 基于SQL Server 2005新特性的分页存储过程
- 手机软件开发平台
- Windows Mobile 6开发环境的配置过程
- boost 中的单元测试示例代码
- 在读写文件的时候要读取配置文件的Path,为什么呢?
- NPetshop调试,学习
- 添加自定义工具栏图标
- 从数据库中取列,动态添加textbox, 行列转换
- SQL Server链接其他数据库服务器的方法
- Web的系统测试方法
- 女大学生不堪就业压力自杀 留下10万字日记
- 【C++】[转]stdafx.h是什么意思
- 如何Call系统标准TCODE