文档章节

Properties2Map

凯文加内特
 凯文加内特
发布于 2015/06/11 15:43
字数 155
阅读 216
收藏 3
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Properties2Map {

	public static void main(String[] args) throws Exception {
		String path = "E:/usr/heliConfig/app/url.properties";
		readConfigForMap(path);

		try {
			Map<String, String> periodCodeMap = readConfigForMap(path);
			Set<String> set1 = periodCodeMap.keySet();
			for (String s : set1) {
				System.out.println(s + "," + periodCodeMap.get(s));
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 读取文件,生成 Map<String,String>,左边为key 右边为value
	 * 
	 * @param path
	 * @return
	 * @throws Exception
	 */
	public static Map<String, String> readConfigForMap(String path) {
		BufferedReader bf = null;
		try {
			InputStream in = new FileInputStream(new File(path));
			Reader reader = new InputStreamReader(in);
			bf = new BufferedReader(reader);
			String row = null;
			Map<String, String> sMap = new HashMap<String, String>();
			while (null != (row = bf.readLine())) {
				if (!row.equals("")) {
					if (row.startsWith("#")) {
						continue;
					}
					String key = row.substring(0, row.indexOf("="));
					String value = row.substring(row.indexOf("=") + 1, row.length());
					sMap.put(key, value);
				}
			}
			bf.close();
			return sMap;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

}


© 著作权归作者所有

共有 人打赏支持
凯文加内特
粉丝 333
博文 667
码字总数 87615
作品 0
青岛
后端工程师

暂无文章

[Hive]JsonSerde使用指南

注意: 重要的是每行必须是一个完整的JSON,一个JSON不能跨越多行,也就是说,serde不会对多行的Json有效。 因为这是由Hadoop处理文件的工作方式决定,文件必须是可拆分的,例如,Hadoop将在...

Mr_yul
10分钟前
0
0
54:mysql修改密码|连接mysql|mysql常用命令

1、mysql修改密码: root用户时mysql的超级管理员,默认mysql的密码是空的,直接可以连接上去的,不过这样不安全; 注释:为了方便的使用mysql,需要把mysql加入到环境变量里; #后续自己输入mys...

芬野de博客
17分钟前
0
0
鼠标单击复制粘贴标签中的内容

<span ref="spanContentOne" id="spanContentOne" style="font-size: 14px;">或许不是最亮眼,总比瞎买强一点</span><!--<input type="button" @click="copyClick('1')" value="复制" />-......

帝子兮
21分钟前
0
0
使用axel多线程疯狂下载

在Linux中比较常见见的下载工具是curl和wget,但是下载比较大的文件两者都不支持多线程, 断点续传的作用不见得能发挥到最大。今天介绍一个axel工具,开启多线程疯狂下载。 安装 Fedora/Cen...

linuxprobe16
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部