Java读写配置文件——Properties类的简要使用笔记
发布时间:2021-05-21 05:05:15 所属栏目:大数据 来源: https://www.jb51.cc
导读:任何编程语言都有自己的读写配置文件的方法和格式,Java也不例外。 在Java编程语言中读写资源文件最重要的类是Properties,功能大致如下: 1. 读写Properties文件2. 读写XML文件3. 不仅可以读写上述两类文件,还可以读写其它格式文件如txt等,只要符合key=val
任何编程语言都有自己的读写配置文件的方法和格式,Java也不例外。 在Java编程语言中读写资源文件最重要的类是Properties,功能大致如下: 1. 读写Properties文件 2. 读写XML文件 3. 不仅可以读写上述两类文件,还可以读写其它格式文件如txt等,只要符合key=value格式即可. ? 注意:资源文件中含有中文时的处理方法? 1. 将中文字符通过工作转成utf8编码,可以通过Java自带的nativetoascii或Eclipse中的属性编辑器。 2. 直接调用 new String(youChineseString.getBytes("ISO-8859-1"),"GBK"); ? 附:WEB程序中加载资源文件的方法 Properties prop = null;? 1. prop = Thread.currentThread().getContextClassLoader().getResourceAsStream("filename"); 2. prop =?this.getClass().getClassLoader().getResourceAsStream("filename"); ? ? Properties类继承自Hashtable,大致API如下:path?不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath(src文件)根下获取。 ? 1 package com.lcw.properties.test; 2 3 import java.io.IOException; 4 java.io.InputStream; 5 java.util.Enumeration; 6 java.util.Properties; 7 8 /** 9 * properties文件读取类 10 * 11 */ 12 public class PropertiesReader { 13 14 void getPropertiesReader(){ 15 Properties properties=new Properties();//获取Properties实例 16 InputStream inStream=getClass().getResourceAsStream("config.properties");获取配置文件输入流 17 try { 18 properties.load(inStream);载入输入流 19 Enumeration enumeration=properties.propertyNames();取得配置文件里所有的key值 20 while(enumeration.hasMoreElements()){ 21 String key=(String) enumeration.nextElement(); 22 System.out.println("配置文件里的key值:"+key+"=====>配置文件里的value值:"+properties.getProperty(key));输出key值 23 } 24 25 } catch (IOException e) { 26 e.printStackTrace(); 27 } 28 } 29 30 } 再来个测试类:PropertiesTest.java PropertiesTest { 4 5 * 测试类 7 8 static main(String[] args) { 9 PropertiesReader propertiesReader=new PropertiesReader(); propertiesReader.getPropertiesReader(); 11 12 13 } 这是配置文件信息:config.properties color=black animal=rabbit food=hamburger chinese=u6211u662Fu4E2Du6587 ? 看下运行效果: ? 若要写入配置i文件也很简单,这里添加一个方法: 1 写入资源文件信息 2 writeProperties(){ 3 Properties properties= Properties(); 4 5 OutputStream outputStream=new FileOutputStream("config.properties"); 6 properties.setProperty("number","2015" 7 properties.setProperty("song","手写的从前" 8 properties.store(outputStream,"rabbit" outputStream.close(); 10 } (FileNotFoundException e) { 12 } 13 14 15 } 生成文件: #rabbit #Wed Jan 07 17:16:56 CST 2015 number=2015 song=u6211u7231u4F60 ? (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |