java读取、写入保存、遍历ini文件配置数据

全栈工程师开发手册 (作者:栾鹏)

java教程全解

java读取ini配置文件,将数据写入ini文件,遍历ini文件

需要引入org.dtools.javaini包,下载

测试代码

public static void main(String[] args) {  
		String value =ini_read("group1","key1","default","set.ini");
		ini_write("group2","key2",value,"set.ini");
		ini_traverse("set.ini");
	}  

读取ini代码

public static String ini_read(String group, String key, String default_value, String filepath)
	{
		 IniFile iniFile=new BasicIniFile();  
	     File file=new File(filepath);  
	     IniFileReader rad=new IniFileReader(iniFile, file);  
	     try {  
	            //读取item  
	            rad.read();  
	            IniSection iniSection=iniFile.getSection(group);
	            if(iniSection==null)
	            	return default_value;
	            IniItem iniItem=iniSection.getItem(key);   
	            if (iniItem==null) {
					return default_value;
				}
	            return iniItem.getValue();
	      } 
	      catch (IOException e) {
				e.printStackTrace();
		  }
	     return null;
	}

存储ini代码

//保存ini文件,group分组必须存在,不能为空
	public static void ini_write(String group, String key, String value, String filepath)
	{
		IniFile iniFile=new BasicIniFile();  
        File file=new File(filepath);  
        IniFileReader rad=new IniFileReader(iniFile, file);  
        IniFileWriter wir=new IniFileWriter(iniFile, file);  
        try {  
        	 	rad.read();  
	            IniSection iniSection=iniFile.getSection(group);  
	            System.out.println(iniSection.getName());
            	IniItem iniItem=iniSection.getItem(key);
            	if(iniItem==null)
            	{
            		iniItem=new IniItem(key);
            		iniItem.setValue(value);
            		iniSection.addItem(iniItem);  
            	}
            	else {
            		iniItem.setValue(value);  
				}
					
	            wir.write();  
        } 
        catch (IOException e) {
			e.printStackTrace();
		}
	}

遍历ini文件

public static void ini_traverse(String filepath) {  
		 try {
			 	IniFile ini = new BasicIniFile(false);//不使用大小写敏感  
		        IniFileReader reader = new IniFileReader(ini, new File(filepath));  
		        reader.read();  
		        for(int i=0;i<ini.getNumberOfSections();i++){  
		            IniSection sec = ini.getSection(i);  
		            System.out.println("---- " + sec.getName() + " ----");  
		            for(IniItem item : sec.getItems()){  
		                System.out.println(item.getName() + " = " + item.getValue());  
		            }  
		        }  
		} catch (Exception e) {
			e.printStackTrace();
		}
	        
	  }  
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腾讯AI架构师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值