任何编程语言都有自己的读写配置文件的方法和格式,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. 基于jQuery仿QQ音乐播放器网页版代码

    基于jQuery仿QQ音乐播放器网页版代码是一款黑色样式风格的网页QQ音乐播放器样式代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="m ...

  2. 机器学习集成算法--- 朴素贝叶斯,k-近邻算法,决策树,支持向量机(SVM),Logistic回归

    朴素贝叶斯: 是使用概率论来分类的算法.其中朴素:各特征条件独立:贝叶斯:根据贝叶斯定理.这里,只要分别估计出,特征 Χi 在每一类的条件概率就可以了.类别 y 的先验概率可以通过训练集算出 k-近邻 ...

  3. Mac OS X上如何实现到Linux主机的ssh免登陆

    转载说明: 本文转载自 http://www.aips.me/mac-key-ssh-login-linux.html 生成密钥对 用密码登录远程主机,将公钥拷贝过去 done 第一步:生成密匙对执行 ...

  4. PowerDesigner导入java类生成类图

    1;打开PowerDesigner 2;file—>Reverse Engineer—>Object Language... 3;弹出一个对话框,在General模块下Model Name ...

  5. Sahi (1) —— 快速入门(101 Tutorial)

    Sahi (1) -- 快速入门(101 Tutorial) jvm版本: 1.8.0_65 sahi版本: Sahi Pro 6.1.0 参考来源: Sahi官网 Sahi Quick Tutori ...

  6. JBoss Wildfly (1) —— 7.2.0.Final编译

    JBoss Wildfly (1) -- 7.2.0.Final编译 wildfly版本: 7.2.0.Final-testsuite-fix jdk版本: jdk1.7.0_79 maven版本: ...

  7. docker启动报错

    1.报“can’t create unix socket /var/run/docker.sock: is a directory” 这是由于存在容器自动启动 --restart= always导致的 ...

  8. 【oneday_onepage】—— 日常用语

    what do you do for living? 一般用在问对方的工作.如果直接说“what is your job?”会显得有点生硬了. i was wondering if you can t ...

  9. 【转】MYSQL数据库四种索引类型的简单使用--MYSQL组合索引“最左前缀”原则

    MYSQL数据库索引类型包括普通索引,唯一索引,主键索引与组合索引,这里对这些索引的做一些简单描述: (1)普通索引 这是最基本的MySQL数据库索引,它没有任何限制.它有以下几种创建方式: 创建索引 ...

  10. 【转】Grafana系列教程–Grafana基本概念

    在上面几篇文章中,我们介绍了Grafana的安装配置以及运行的方法,本篇文章我们就来介绍下Grafana的基本概念. 一.Data Source — 数据源 Grafana支持多种不同的时序数据库数据 ...