任何编程语言都有自己的读写配置文件的方法和格式,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如下:
 
 
 
好了,直接用代码说话吧,这个类很容易使用
看下Demo目录结构:
 
先来个读取配置文件类:PropertiesReader.java
关于Properties读取文件这里提供六种方法:《JAVA读取Properties的六种方法》,下面取最常用的一种
 
关于路径的写法:(可以相对路径也可以是绝对路径)
Class.getResourceAsStream(String path) 
path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath(src文件)根下获取。
 
 package com.lcw.properties.test;

 import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties; /**
* properties文件读取类
*
*/
public class PropertiesReader { public void getPropertiesReader(){
Properties properties=new Properties();//获取Properties实例
InputStream inStream=getClass().getResourceAsStream("config.properties");//获取配置文件输入流
try {
properties.load(inStream);//载入输入流
Enumeration enumeration=properties.propertyNames();//取得配置文件里所有的key值
while(enumeration.hasMoreElements()){
String key=(String) enumeration.nextElement();
System.out.println("配置文件里的key值:"+key+"=====>配置文件里的value值:"+properties.getProperty(key));//输出key值
} } catch (IOException e) {
e.printStackTrace();
}
} }

再来个测试类:PropertiesTest.java

 package com.lcw.properties.test;

 public class PropertiesTest {

     /**
* 测试类
*/
public static void main(String[] args) {
PropertiesReader propertiesReader=new PropertiesReader();
propertiesReader.getPropertiesReader();
} }

这是配置文件信息:config.properties

color=black
animal=rabbit
food=hamburger
chinese=\u6211\u662F\u4E2D\u6587

看下运行效果:

  

若要写入配置i文件也很简单,这里添加一个方法:

     //写入资源文件信息
public void writeProperties(){
Properties properties=new Properties();
try {
OutputStream outputStream=new FileOutputStream("config.properties");
properties.setProperty("number", "2015");
properties.setProperty("song", "手写的从前");
properties.store(outputStream, "rabbit");
outputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

生成文件:

#rabbit
#Wed Jan 07 17:16:56 CST 2015
number=2015
song=\u6211\u7231\u4F60

Java读写配置文件——Properties类的简要使用笔记的更多相关文章

  1. Java读写配置文件prop.properties

    Java读写配置文件prop.properties @Test public void fun() throws IOException{ Properties prop=new Properties ...

  2. Java学习:Properties类

    Java学习:Properties类 学习目标 认识properties文件,理解其含义,会正确创建properties文件. 会使用java.util.Properties类来操作propertie ...

  3. Java中的Properties类

    目录 Java中的Properties类 前言 主要方法 读取Properties文件 相关实例 Java中的Properties类 前言 Java中的Properties类属于配置文件,以键值对的方 ...

  4. Java读写资源文件类Properties

    Java中读写资源文件最重要的类是Properties 1) 资源文件要求如下: 1.properties文件是一个文本文件 2.properties文件的语法有两种,一种是注释,一种属性配置.  注 ...

  5. day1 java基础回顾- Properties类与配置文件

    Properties配置文件说明 Properties类对应.properties文件.文件内容是键值对,键值对之间使用"="或空格隔开.开头是"#"的表示注释 ...

  6. Java API 之 Properties 类

    1.简介 在项目中我们经常看到一种格式极其干净的配置文件,如:config.properties.在Java的体系结构中也提供了API对properties文件进行读取和写入等操作,即:Propert ...

  7. java编程中Properties类的具体作用和使用

    如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...

  8. java 21 - 14 Properties类

    类 Properties Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. 注意:Properties是Has ...

  9. java编程中Properties类的具体作用和使用!

    如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...

随机推荐

  1. java中日期的换算处理

    JAVA8中的日期API是JSR-310的实现,并且是工作在ISO-8601日历系统基础上的,但我们也可以在非ISO的日历上.JDK8的日期API大致分为以下几个包: java.time包:JDK8中 ...

  2. JAVA-JSP内置对象之pageContext对象

    相关资料:<21天学通Java Web开发> pageContext对象1.pageContext对象不但可以用来设置page范围的属性,同样也可以用来设置其他范围属性,不过需要指定范围参 ...

  3. Facebook的Fairseq模型详解(Convolutional Sequence to Sequence Learning)

    1. 前言 近年来,NLP领域发展迅速,而机器翻译是其中比较成功的一个应用,自从2016年谷歌宣布新一代谷歌翻译系统上线,神经机器翻译(NMT,neural machine translation)就 ...

  4. 基于jq流畅度非常好的图片左右切换焦点图

    今天给大家分享一款基于jq流畅度非常好的图片左右切换焦点图.这是一款基于jQuery实现的支持鼠标拖动切换jQuery特效下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: &l ...

  5. jQuery实现radio第一次点击选中第二次点击取消功能(转)

    转载自:http://www.jb51.net/article/113730.htm 由于项目的需求,要求radio点击两次后为取消状态,不方便修改为checkbox,可以用正面的方法实现. // j ...

  6. [uEnv.txt]在uEnv.txt文件中使用if语句实现Image/dtb文件切换

    指定image/dtb文件 bootdir= bootfile=zImage fdtfile=embest-SBCC_PH8800_WLQ.dtb loadaddr=0x82000000 fdtadd ...

  7. Introduction to MyBatis Generator Mybatis代码生成介绍

    Mybatis官方提供了代码生成工具,这里是官方网站: http://mybatis.github.io/generator/index.html 可以自动生成 Java POJOs, Mapper. ...

  8. mysql show global variables字符超1024会被截断

    show variables 会存在数据被截断的问题: select 全局变量没有问题 官网解释:https://dev.mysql.com/doc/refman/5.6/en/variables-t ...

  9. 【C】——使用creat()函数需要注意的事项

    #include<fcntl.h> int creat(const char *pathname, mode_t mode); 若成功则返回为只写打开的文件描述符,若出错则返回-1: 有时 ...

  10. js学习(四)- prototype原型对象

    前言: 下面两行代码都是创建一个数组对象myArray:var myArray=[];//等价于var myArray=new Array();同样,下面的两段代码也都是创建一个函数myFunctio ...