|
@@ -2,6 +2,7 @@ package com.keao.edu.util.iniFile;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.io.IOException;
|
|
|
+import java.io.InputStream;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collection;
|
|
|
import java.util.HashMap;
|
|
@@ -17,45 +18,88 @@ 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));
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 读取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;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 读取Ini文件
|
|
|
+ *
|
|
|
+ * @param inputStream
|
|
|
+ * @return 返回所有section以及下面的key/value
|
|
|
+ * @throws InvalidFileFormatException
|
|
|
+ * @throws IOException
|
|
|
+ */
|
|
|
+ public static Map<String, List<IniFileEntity>> readIniFile(InputStream inputStream) throws InvalidFileFormatException, IOException {
|
|
|
+ Ini ini = new Ini();
|
|
|
+ try {
|
|
|
+ ini.load(inputStream);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new UtilException(e.getMessage());
|
|
|
+ } finally {
|
|
|
+ inputStream.close();
|
|
|
+ }
|
|
|
+
|
|
|
+ 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));
|
|
|
+ }
|
|
|
}
|