zoukankan      html  css  js  c++  java
  • Java 使用json 做配置文件

    概述

    经常会用到通过配置文件,去配置一些参数,java里面本来是有配置文件的,但是导入很麻烦的,自从我用了json之后,从此一切配置文件都见鬼去吧.

    1.下载gson解析json文件的jar包

        首先我们要导入一个解析json文件的jar包,下载连接如下所示:

    https://mvnrepository.com/artifact/com.google.code.gson/gson

    2.导入gson包到当前工程

    eclipse 下面鼠标选中 JRE System Libraries -> Build Path -> Configure Build Path找到 Libraries 选项卡,Add External JARs ,找到刚才下载的gson jar包 选择,导入到当前工程。

    3.读取json文件转换为字符串

    如下所示代码,方法入口参数为文件名,记得要带上路径

    public String readToString(String fileName) {
    	String encoding = "UTF-8";
    	File file = new File(fileName);
    	Long filelength = file.length();
    	byte[] filecontent = new byte[filelength.intValue()];
    	try {
    		FileInputStream in = new FileInputStream(file);
    		in.read(filecontent);
    		in.close();
    	} catch (FileNotFoundException e) {
    		e.printStackTrace();
    	} catch (IOException e) {
    		e.printStackTrace();
    	}
    	try {
    		return new String(filecontent, encoding);
    	} catch (UnsupportedEncodingException e) {
    		System.err.println("The OS does not support " + encoding);
    		e.printStackTrace();
    		return null;
    	}
    }
    

    4.解析字符串为java类

    解析为java类的过程是json序列化的过程,如下所示:

    public class ImportCfgFile{
    	public static  inicfg ini = new inicfg();
    	public ImportCfgFile(){
    		Gson gson = new Gson();
    		String str = ini.readToString("config.json");
    		try {
    			//str  = gson.toJson(ini);
    			//System.out.println("json 格式:"+str);
    			ini = gson.fromJson(str.trim(), inicfg.class);
    			//System.out.println("配置文件:
    "+str);
    		} catch (Exception e) {
    			System.out.println("配置文件读取失败,异常退出");
    			return ;
    		}
    
    	}
    }
    

    其中inicfg是一个用户定义的要和json文件对应的类,写配置文件最好先按照inicfg类的方式生成类似的json字符串,使用str = gson.toJson(ini) ,记得要对ini初始化才可以,这样我们拷贝打印出来的消息到config.json文件里面,就不会抛出解析失败的异常了

  • 相关阅读:
    meta标签设置(移动端)
    清除浮动
    响应式设计
    堆和堆排序
    O(n^2)以及O(nlogn)时间复杂度的排序算法
    求数组的最大连续子数组和
    HTTP缓存原理
    将两个有序数组合并为一个有序数组
    如何实现居中对齐
    查找字符串中出现最多的字符
  • 原文地址:https://www.cnblogs.com/memorypro/p/9518354.html
Copyright © 2011-2022 走看看