java读取配置文件的几种方法

  一.读取xml配置文件

(一)新建一个java bean(HelloBean.java)
java 代码

package chb.demo.vo;
public class HelloBean {
private String helloWorld;

public String getHelloWorld() {
return helloWorld;
}

public void setHelloWorld(String helloWorld) {
this.helloWorld = helloWorld;
}
}

(二)构造一个配置文件(beanConfig.xml)xml 代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "
http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="helloBean" class="chb.demo.vo.HelloBean">
<property name="helloWorld">
<value>Hello!chb!</value>
</property>
</bean>
</beans>

(三)读取xml文件

1.利用ClassPathXmlApplicationContext
java 代码:

ApplicationContext context = new ClassPathXmlApplicationContext("beanConfig.xml");
HelloBean helloBean = (HelloBean)context.getBean("helloBean");
System.out.println(helloBean.getHelloWorld());

2.利用FileSystemResource读取
java 代码

Resource rs = new FileSystemResource("D:/software/tomcat/webapps/springWebDemo/WEB-INF/classes/beanConfig.xml");
BeanFactory factory = new XmlBeanFactory(rs);
HelloBean helloBean = (HelloBean)factory.getBean("helloBean");\
System.out.println(helloBean.getHelloWorld());
值得注意的是:利用FileSystemResource,则配置文件必须放在project直接目录下,或者写明绝对路径,否则就会抛出找不到文件的异常

(四)dom4j 读取xml

<?xml version="1.0" encoding="gb2312"?>
<return-links>

<link id="0999" name="MONTERNET" title="Monternet" type="1">
    <text></text>
    <href>http://wap.monternet.com/</href>
    <session-id>false</session-id>
    <channel-type></channel-type>
</link>

</return-links>

java 读取:

SAXReader reader = new SAXReader();
        File file = new File (tmpFile);
        if(file == null)
        return ;
        try {
            Document tmpDoc = reader.read(file);
      Element tmpRoot = tmpDoc.getRootElement();
            for ( Iterator i = tmpRoot.elementIterator("link"); i.hasNext();) {
          Element tmpElement = (Element) i.next();
          Properties tmpP = new Properties();
       String tmpId = tmpElement.attributeValue("id");
       tmpP.setProperty("name",tmpElement.attributeValue("name"));
       tmpP.setProperty("title",tmpElement.attributeValue("title"));
       tmpP.setProperty("type",tmpElement.attributeValue("type"));
       tmpP.setProperty("text",tmpElement.element("text").getText());
       tmpP.setProperty("href",tmpElement.element("href").getText());
       tmpP.setProperty("session-id",tmpElement.element("session-id").getText());
       tmpP.setProperty("channel-type",tmpElement.element("channel-type").getText());
       tmpLinks.put(tmpId,tmpP);   

      tmpP = null;
      }

   } catch (Exception e) {
     e.printStackTrace();
   }

查看 http://hi.baidu.com/yyl119/blog/item/a8531c3425e29e335bb5f59f.html dom4jAPI

二.读取properties配置文件

这里介绍两种技术:利用spring读取properties 文件和利用java.util.Properties读取

(一)利用spring读取properties 文件

我们还利用上面的HelloBean.java文件,构造如下beanConfig.properties文件:
beanConfig.properties 代码:

helloBean.class=chb.demo.vo.HelloBean
helloBean.helloWorld=Hello!chb!

属性文件中的"helloBean"名称即是Bean的别名设定,.class用于指定类来源。然后利用org.springframework.beans.factory.support.PropertiesBeanDefinitionReader来读取属性文件
java 代码

BeanDefinitionRegistry reg = new DefaultListableBeanFactory();
PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(reg);
reader.loadBeanDefinitions(new ClassPathResource("beanConfig.properties"));
BeanFactory factory = (BeanFactory)reg;
HelloBean helloBean = (HelloBean)factory.getBean("helloBean");
System.out.println(helloBean.getHelloWorld());

(二)利用java.util.Properties读取属性文件

比如,我们构造一个ipConfig.properties来保存服务器ip地址和端口,
如:properties
代码 ip=192.168.0.1
port=8080
则,我们可以用如下程序来获得服务器配置信息:
java 代码

InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ipConfig.properties");
Properties p = new Properties();
try{
p.load(inputStream);
}catch(IOException e1) {
e1.printStackTrace();
}
System.out.println("ip:"+p.getProperty("ip")+",port:"+p.getProperty("port"));

三 读取txt 文件

File read = new File(“”);

String temp ="";

BufferReader tmpBr = new BufferReader(new FileReader(read));

temp = tmpBr .readLine();

while(temp!=null){

}

四 写入txt文件

(一):

      File write = new File(“”);

    BufferedWriter tmpBw = new BufferedWriter(
             new FileWriter(write ));

    tmpBw。write();

(二)追加写入

BufferedWriter tmpBw = new BufferedWriter(
             new FileWriter(write,true ));

tmpBw 。write()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值