.NET如何从配置文件中读取数据

.NET如何从配置文件中读取数据,第1张

在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读取配置文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9470431.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存