加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Properties读写配置文件

发布时间:2020-12-15 22:31:52 所属栏目:百科 来源:网络整理
导读:在学习框架的时候相信各位都会知道,在搭建框架的时候经常会自己写配置文件。那么写这些配置文件有什么用呢?其实是为了给底层反射机制调用的。那么接下来用代码简单说明一下读取和写数据到配置文件中(没有用到反射机制)。前期数据准备如下: package java

在学习框架的时候相信各位都会知道,在搭建框架的时候经常会自己写配置文件。那么写这些配置文件有什么用呢?其实是为了给底层反射机制调用的。那么接下来用代码简单说明一下读取和写数据到配置文件中(没有用到反射机制)。前期数据准备如下:



package javatribe.fts.properties;

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties;

/*
 * 读取config.properties配置文件中的值
 */
public class ReadProperties {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
		
		//方式一读取数据   这种方式读取配置文件把配置文件放置在合适的位置
        //InputStream ips=ReadProperties.class.getResourceAsStream("config.properties");
		
		//方式二读取数据
		InputStream ips=new FileInputStream("D:config.properties");
	    Properties ps=new Properties();
	    ps.load(ips);
	    ips.close();
	    Enumeration enu=ps.propertyNames();
	    
	    //方法一输出方式
	    ps.list(System.out);
	    
	    //方法二输出方式
	    while(enu.hasMoreElements()){
	    	System.out.println("key=="+enu.nextElement());
	    }
	    Enumeration enu1=ps.propertyNames();
	    while(enu1.hasMoreElements()){
	    	System.out.println("value=="+ps.getProperty((String)enu1.nextElement()));
	    }
	    
	}

}
输出结果

-- listing properties --
--=listing properties --
fengtansong11=fengtansong11
jiangchunwan11=jiangchunwan11
key==--
key==fengtansong11
key==jiangchunwan11
value==listing properties --
value==fengtansong11
value==jiangchunwan11

package javatribe.fts.properties;

import java.io.File;
import java.io.PrintStream;
import java.util.Properties;

/*
 * 将数据写回到config.properties文件中
 * 这是一种覆盖性写法,原来文件中的数据会丢失
 */
public class WriteToProperties {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
		Properties p=new Properties();
		p.setProperty("fengtansong","fengtansong");
		p.setProperty("jiangchunwan","jiangchunwan");
		PrintStream fW = new PrintStream(new File("d:config.properties"));
        p.list(fW );

	}

}

在D盘上会建立一个config.properties的文件,输出结果

-- listing properties --
jiangchunwan=jiangchunwan
fengtansong=fengtansong

package javatribe.fts.properties;

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;

/*
 * 读取config.xml文件中的值
 */
public class RreadXml {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
       InputStream ips=RreadXml.class.getResourceAsStream("config.xml");
		
		//方式二读取数据
		//InputStream ips=new FileInputStream("D:config.xml");
		Properties p=new Properties();
		p.loadFromXML(ips);
		ips.close();
		p.list(System.out);
	}

}

输出结果如下:

-- listing properties --
koo=bar
fu=baz

package javatribe.fts.properties;

import java.io.File;
import java.io.PrintStream;
import java.util.Properties;

public class WriteToXml {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
        Properties p=new Properties();
        p.setProperty("fengtansong","fengtansong");
        p.setProperty("jiangchunwan","jiangchunwan");
        PrintStream ps=new PrintStream(new File("d:config.xml"));
        p.storeToXML(ps,"configTest");
	}

}

在D盘上会自动建立config.xml文件输出结果如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>configTest</comment>
<entry key="jiangchunwan">jiangchunwan</entry>
<entry key="fengtansong">fengtansong</entry>
</properties>
以上就是简单的读取配置文件的方式

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读