Sectionがないの場合
Sectionがありの場合package co.test; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.Properties; import android.content.Context; public class IniReaderNoSection { public Properties properties = null; /** * ファイルのアドレス---->res/raw/**.ini <br> * resourceId--->R.raw.cc * */ public IniReaderNoSection(Context context, int resourceId) { InputStream inputStream = context.getResources().openRawResource( resourceId); try { properties = new Properties(); properties.load(inputStream); } catch (Exception ex) { ex.printStackTrace(); } } /** * ファイルのアドレス---->例えば、SD存储卡 * */ public IniReaderNoSection(String filename) { File file = new File(filename); try { properties = new Properties(); properties.load(new FileInputStream(file)); } catch (Exception ex) { ex.printStackTrace(); } } public String getIniKey(String key) { if (properties.containsKey(key) == false) { return null; } return String.valueOf(properties.get(key)); } }
package co.test; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Properties; public class IniReaderHasSection { private Map<String, Properties> sections; private String secion; private Properties properties; /** * ファイルのアドレス---->例えば、SD存储卡 * */ public IniReaderHasSection(String filename) throws IOException { sections = new HashMap<String, Properties>(); BufferedReader reader = new BufferedReader(new FileReader(filename)); read(reader); reader.close(); } private void read(BufferedReader reader) throws IOException { String line; while ((line = reader.readLine()) != null) { parseLine(line); } } private void parseLine(String line) { line = line.trim(); if (line.matches("\\[.*\\]") == true) { secion = line.replaceFirst("\\[(.*)\\]", "$1"); properties = new Properties(); sections.put(secion, properties); } else if (line.matches(".*=.*") == true) { if (properties != null) { int i = line.indexOf('='); String name = line.substring(0, i); String value = line.substring(i + 1); properties.setProperty(name, value); } } } public String getValue(String section, String name) { Properties p = sections.get(section); if (p == null) { return null; } String value = p.getProperty(name); return value; } }