在webconfig中读连接字符串的方法:
把 webconfig中的<connectionStrings/>文字修改为:
<connectionStrings>
<add name="ConnectionString" connectionString="data source=localhost; user id=sa; password=123456789; database=testDB;"/>
</connectionStrings>
(假设上面的信息都符合您的设置,如不符合,请改动)
添加一个Connection的类,并且接受建议放在App_Code里;出现该类的代码视图;添加using SystemDataSqlClient;在public class Connection里加入方法:
public static SqlConnection getConnection()
{
return new SqlConnection(SystemConfigurationConfigurationManagerConnectionStrings["ConnectionString"]ConnectionString);
}
这样通过调用getConnection就可以从配置文件中读取连接字符串的信息,并返回一个SqlConnection对象。
读取配置文件 , xxxproperties放在webroot/WEB-INF/classes/目录下
首先将配置文件转换成InputStream,有两种方式,原理一样,都是通过类加载器得到资源:
(1)InputStream inputStream = ThreadcurrentThread()getContextClassLoader()getResourceAsStream("xxproperties");
(2) InputStream inputStream =
thisgetClass() getClassLoader()getResourceAsStream( "xxproperties" );
调用对象的getClass()方法是获得对象当前的类类型,这部分数据存在方法区中,
而后在类类型上调用 getClassLoader()方法是得到当前类型的类加载器,我们知道在Java中所有的类都是通过加载器加载到虚拟机中的,而且类加载器之间存在父 子关系,就是子知道父,父不知道子,这样不同的子加载的类型之间是无法访问的(虽然它们都被放在方法区中),所以在这里通过当前类的加载器来加载资源也就 是保证是和类类型同一个加载器加载的。
最后调用了类加载器的getResourceAsStream()方法来加载资源。
(3) 然后加载配置文件,读取属性值
Properties prop = new Properties();
propload(input);
String value = propgetProperty("PropertyName");
inputclose();
如果是相对路径无论windows还是linux都是一样的。
如果是绝对路径,只需要看好配置文件所在linux的目录,其他的 *** 作和windows一样(例如:linux/usr/local/src/1config,windowsc:/1config)
使用File就可以直接读取了。
在使用hibernate或者spring的时候,我们往往通过配置文件配置数据库连接属性。但这次项目中并没有用到hibernate和spring,只用到了struts2。要如何实现通过读取文件配置获取属性值呢?
方式一:ResourceBundle这个类可是实现读取properties文件来获取值
在java中:
public class ResourceBundleReader {
public final static Object initLock = new Object();
private final static String PROPERTIES_FILE_NAME = "property";
private static ResourceBundle bundle = null;
static {
try {
if (bundle == null) {
synchronized (initLock) {
if (bundle == null)
bundle = ResourceBundlegetBundle(PROPERTIES_FILE_NAME,LocaleCHINA);
}
}
} catch (Exception e) {
Systemoutprintln("读取资源文件property_zhproperties失败!");
}
}
public static ResourceBundle getBundle() {
return bundle;
}
public static void setBundle(ResourceBundle bundle) {
bundle = bundle;
}
}
在properties文件中:
driverName=commysqljdbcDriver
url=xxxxx/:3307/9zgame
user=root
password=xxxxxx
文件名字为:property_zhproperties。后zh根据LocaleCHINA一致的,如果LocaleENGLISH,则文件名为:property_enproperties
方式二:使用commons组件。
以上就是关于.NET如何从配置文件中读取数据全部的内容,包括:.NET如何从配置文件中读取数据、Java 获取配置文件路径、linux 下java读取配置文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)