【发布时间】:2016-04-16 03:38:53
【问题描述】:
我在 Project/app/apiconfig.ini 中有一个文件 like in this image 内部文件:
api_key = API_KEY
我创建类来读取 ini 文件并获取值:
package br.com.adley.myseriesproject.library;
import org.ini4j.Ini;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
/**
* Created by Adley on 15/04/2016.
* Read a ini config file
*/
public class ReadIniConfigFile {
private String configurationFile;
private final String defaultConfigPath = "apiconfig.ini";
private HashMap<String, String> iniFile;
public HashMap<String, String> getIniFile() {
return iniFile;
}
public void setIniFile(HashMap<String, String> iniFile) {
this.iniFile = iniFile;
}
public ReadIniConfigFile(String iniConfFilePath, String... keys) {
configurationFile = iniConfFilePath == null ? defaultConfigPath : iniConfFilePath;
Ini ini = loadIni();
if(ini != null){
if(keys.length > 0){
for (String key:keys) {
iniFile.put(key,ini.get(key).toString());
}
}
}
}
public ReadIniConfigFile(String iniConfFilePath, String key) {
configurationFile = iniConfFilePath == null ? defaultConfigPath : iniConfFilePath;
Ini ini = loadIni();
if(ini != null){
iniFile.put(key,ini.get(key).toString());
}
}
public ReadIniConfigFile(String... keys) {
configurationFile = defaultConfigPath;
Ini ini = loadIni();
if(ini != null){
if(keys.length > 0){
for (String key:keys) {
iniFile.put(key,ini.get(key).toString());
}
}
}
}
public ReadIniConfigFile(String key) {
configurationFile = defaultConfigPath;
Ini ini = loadIni();
if(ini != null){
iniFile.put(key,ini.get(key).toString());
}
}
public Ini loadIni() {
try{
Ini ini = new Ini(new File(configurationFile));
return ini;
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
public HashMap<String,String> getAllIni() {
return iniFile;
}
public String getSpecificValueIni(String key){
return iniFile.get(key);
}
public Collection<String> getAllValues(){
return iniFile.values();
}
public String getSpecificKeyValueIniToString(String key){
return key + " = " + iniFile.get(key);
}
}
我的问题是,我怎样才能得到这个 ini 文件的路径? 有另一种方法来保存外部代码的 api_key 吗?因为我使用的是 GitHub,不想分享我的私钥。
【问题讨论】: