|  | @@ -0,0 +1,61 @@
 | 
	
		
			
				|  |  | +package com.keao.edu.util.iniFile;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import java.io.File;
 | 
	
		
			
				|  |  | +import java.io.IOException;
 | 
	
		
			
				|  |  | +import java.util.ArrayList;
 | 
	
		
			
				|  |  | +import java.util.Collection;
 | 
	
		
			
				|  |  | +import java.util.HashMap;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  | +import java.util.Map;
 | 
	
		
			
				|  |  | +import java.util.Map.Entry;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import org.ini4j.Ini;
 | 
	
		
			
				|  |  | +import org.ini4j.InvalidFileFormatException;
 | 
	
		
			
				|  |  | +import org.ini4j.Profile.Section;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import com.keao.edu.util.exception.UtilException;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +public class IniFileUtil {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * 读取Ini文件
 | 
	
		
			
				|  |  | +	 * @param iniFile 文件绝对路径(文件编码须UTF-8)
 | 
	
		
			
				|  |  | +	 * @return 返回所有section以及下面的key/value
 | 
	
		
			
				|  |  | +	 * @throws InvalidFileFormatException
 | 
	
		
			
				|  |  | +	 * @throws IOException
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	public static Map<String, List<IniFileEntity>> readIniFile(File iniFile) throws InvalidFileFormatException, IOException {
 | 
	
		
			
				|  |  | +		if (!iniFile.exists()) {
 | 
	
		
			
				|  |  | +			throw new UtilException("文件[" + iniFile.getAbsolutePath() + "]不存在");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		Ini ini = new Ini();
 | 
	
		
			
				|  |  | +		ini.load(iniFile);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		Map<String, List<IniFileEntity>> result = new HashMap<String, List<IniFileEntity>>();
 | 
	
		
			
				|  |  | +		IniFileEntity entity = null;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		Collection<Section> sections = ini.values();
 | 
	
		
			
				|  |  | +		for (Section section : sections) {
 | 
	
		
			
				|  |  | +			List<IniFileEntity> entryList = result.get(section.getName());
 | 
	
		
			
				|  |  | +			if (entryList == null) {
 | 
	
		
			
				|  |  | +				entryList = new ArrayList<IniFileEntity>();
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			for (Entry<String, String> entry : section.entrySet()) {
 | 
	
		
			
				|  |  | +				entity = new IniFileEntity();
 | 
	
		
			
				|  |  | +				entity.setSection(section.getName());
 | 
	
		
			
				|  |  | +				entity.setKey(entry.getKey());
 | 
	
		
			
				|  |  | +				entity.setValue(entry.getValue());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				entryList.add(entity);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			result.put(section.getName(), entryList);
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		return result;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  | +	public static void main(String[] args) throws InvalidFileFormatException, IOException {
 | 
	
		
			
				|  |  | +		File file = new File("e:/test.ini");
 | 
	
		
			
				|  |  | +		System.out.println(IniFileUtil.readIniFile(file));
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 |