java 读取文件可以用字节流和字符流。 由于一个汉字占两个字节,所以如果配置文件中有汉字,用字节流读取,会出现乱码。 用字符流则不会出现乱码。

配置文件 b.properties 文件如下:

family\ name = zhou
second name = dingzhao
gender = male
tel no. = +86 (-) 13913462
salary = 0.001k
职业 =java & 工程师

读取配置文件的代码如下:

Properties pro = new Properties();

try {

  FileReader in2 = new FileReader(new File("I:\\Workspaces\\MyWork\\xcserver\\src\\com\\xiaocong\\user\\service\\b.properties"));

  pro.load(in2);  

  System.out.println(pro.getProperty("family name"));

  Iterator<String> it=pro.stringPropertyNames().iterator();
    while(it.hasNext()){
    String key=it.next();
    System.out.println(key+":"+pro.getProperty(key));
  }

  in2.close();

} catch (FileNotFoundException e) {

  e.printStackTrace();

}

System.out.println(pro.getProperty("职业"));

输出:

zhou
second:name = dingzhao
tel:no. = +86 (-) 139133462
family name:zhou
gender:male
salary:0.001k
职业:java & 工程师

java & 工程师

注:

1、配置文件中有空格的话,需要用 \ 转义符。

2、pro.getProperty("职业")   getProperty(key)方法可以取得配置文件中变量的值。

字节流代码如下:

Properties pro = new Properties();

try {

  InputStream in2 = new BufferedInputStream (new FileInputStream("I:\\Workspaces\\MyWork\\xcserver\\src\\com\\xiaocong\\user\\service\\a.properties"));

  pro.load(in2);

  System.out.println(pro.getProperty("family name"));

  Iterator<String> it=pro.stringPropertyNames().iterator();
  while(it.hasNext()){
    String key=it.next();
    System.out.println(key+":"+pro.getProperty(key));
  }

  in2.close();

} catch (FileNotFoundException e) {

  e.printStackTrace();

}

字节流配置文件中的中文会变成乱码。

  

java读取配置文件的更多相关文章

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

    java读取配置文件的几种方法 原文地址:http://hbcui1984.iteye.com/blog/56496         在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配 ...

  2. Java读取配置文件的方式

    Java读取配置文件的方式-笔记 1       取当前启动文件夹下的配置文件   一般来讲启动java程序的时候.在启动的文件夹下会有配置文件 classLoader.getResource(&qu ...

  3. Java 读取配置文件数据

    Properties类 Properties类,是一个工具类,包含在java.util包中. 功能:可以保存持久的属性,通常用来读取配置文件或者属性文件,将文件中的数据读入properties对象中, ...

  4. java读取配置文件方法以及工具类

    第一种方式 : java工具类读取配置文件工具类 只是案例代码  抓取异常以后的代码自己处理 import java.io.FileNotFoundException; import java.io. ...

  5. java读取配置文件内容

    利用com.typesafe.config包实现 <dependency> <groupId>com.typesafe</groupId> <artifact ...

  6. spring boot使用java读取配置文件,DateSource测试,BomCP测试,AnnotationConfigApplicationContext的DataSource注入

    一.配置注解读取配置文件         (1)@PropertySource可以指定读取的配置文件,通过@Value注解获取值   实例:           @PropertySource(val ...

  7. 使用Java读取配置文件

    实现起来,相对比较简单,留个备案吧,废话也不多说,请看代码: package com.jd.***.config; import org.junit.*; import java.io.IOExcep ...

  8. java读取配置文件(转)

    转载:http://blog.csdn.net/gaogaoshan/article/details/8605887 java 4种方式读取配置文件 + 修改配置文件     方式一:采用Servle ...

  9. 转:java读取配置文件的几种方法

    转自: http://www.iteye.com/topic/56496 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小 ...

随机推荐

  1. 下载APP 2个二维码合并到一个二维码

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  2. JS 页面加载触发事件 document.ready和onload的区别(转)

    原博地址:http://blog.163.com/zhaoyanping_1125/blog/static/20132915320111129113723710/ * document.ready和o ...

  3. CPU/寄存器/内存

    因为要了解多线程,自然少不了一些硬件知识的科普,我没有系统学习过硬件知识,仅仅是从书上以及网络上看来的,如果有错误请指出来. CPU,全名Central Processing Unit(中央处理器). ...

  4. 例行性工作排程 (crontab)

    1. 什么是例行性工作排程 1.1 Linux 工作排程的种类: at, crontab 1.2 Linux 上常见的例行性工作2. 仅运行一次的工作排程 2.1 atd 的启动与 at 运行的方式: ...

  5. 水晶報表中小寫變大寫的函數-VB

    Function total (ls as number) as string dim dx_sz as string dim dx_dw as string dim str_int as strin ...

  6. 安装pip之后,执行pip,提示:unknown or unsupported command install

    安装pip之后,在dos命令框中输入pip,提示:unknown or unsupported command install,搜索之后,立马在:http://stackoverflow.com/qu ...

  7. nutch 索引

    nutch开发环境搭建     nutch-1.3导入eclipse     nutch-1.7导入eclipse nutch部署     nutch-1.3linux下部署     nutch-1. ...

  8. 利用MSF溢出攻击讲解

    msf的强大之处也就不做探讨了,虽然这些东西网上很多.但我想说说我的感受. 这次的演示是在BT5中远程攻击一台win2003 sp2 metasploit是4.3的 需要说明的一点是 现在的BT5中不 ...

  9. OUTLOOK连EXCHANGE,配置POP3时跳出错误问题

    "Authentication failed because outlook doesnt support any Resolved Question: "Authenticati ...

  10. HDU 4081 Qin Shi Huang's National Road System

    步骤是先求最小生成树,然后选两个不同的点,遍历所有的这样的点,选出两点人口比较大,而且连通两点的边的最大边比较大的情况. 因此要对i,j点连接起来的边进行遍历. #include<stdio.h ...