TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
- //java读取ini文件的通用方法
- //Java代码
- import java.io.BufferedReader;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.HashMap;
- import java.util.Properties;
-
- /**
- * @author James Fancy
- * @modifyed by brmrk
- */
- public class IniReader {
-
- protected HashMap sections = new HashMap();
- private transient String currentSecion;
- private transient Properties current;
-
- public IniReader(String filename) throws IOException {
- //modifyed by brmrk
- BufferedReader reader = new BufferedReader(new InputStreamReader(
- new FileInputStream(filename), "GBK"));
- read(reader);
- reader.close();
- }
-
- protected void read(BufferedReader reader) throws IOException {
- String line;
-
- while ((line = reader.readLine())!=null ) {
-
- parseLine(line);
- }
-
- }
-
- protected void parseLine(String line) {
- line = line.trim();
-
- if (line.matches("\[.*\]")) {
- // 如果是 JDK 1.4(不含1.4)以下版本,修改为
- // if (line.startsWith("[") && line.endsWith("]")) {
- //commented by brmrk
- // if (current != null) {
- // sections.put(currentSecion, current);
-
- // }
-
- currentSecion = line.replaceFirst("\[(.*)\]", "$1");
-
- // JDK 低于 1.4 时
- // currentSecion = line.substring(1, line.length() - 1);
- current = new Properties();
-
- } else if (line.matches(".*=.*")) {
- // JDK 低于 1.4 时
- // } else if (line.indexOf("=") >= 0) {
- int i = line.indexOf("=");
- String name = line.substring(0, i);
- String value = line.substring(i + 1);
-
- current.setProperty(name, value);
- //added by brmrk
- sections.put(currentSecion, current);
- }
- }
-
- public String getValue(String section, String name) {
- Properties p = (Properties) sections.get(section);
-
- if (p == null) {
- return null;
- }
-
- String value = p.getProperty(name);
- return value;
- }
-
- public static void main(String[] args) throws IOException {
- IniReader ini=new IniReader("config.ini");
- String value = ini.getValue("product", "name");
- System.out.println(value);
- }
- }
复制代码
源码下载:http://file.javaxxz.com/2014/11/4/235832234.zip |
|