ファイルを設定ファイルとして使用するために、アセット ディレクトリからファイルを読み込もうとしています。AssetManager はそれを見つけることができません。config.global と config.properties はどちらもプロジェクトの assets ディレクトリにあります。config クラスは setUp() 関数で生成され、次に readConfig を呼び出して開始します。メインファイルのコードは次のとおりです。
protected void setUp() throws Exception {
super.setUp();
mLithium = (LithiumExtension) Trio.getInstance(new LithiumExtension(this))
.getExtension();
config = StorefrontConfig.getInstance();
Resources resources = getActivity().getResources();
AssetManager asM = resources.getAssets();
InputStream in = asM.open("config.global");
OutputStream out = asM.openFd("config.properties").createOutputStream();
config.readConfig(in, out);
setTestSettings();
}
Config のコード:
public class Config {
private static Config instance;
public Properties prop;
static {
instance = new Config();
}
private Config () {
prop = new Properties();
}
public void readConfig(InputStream in, OutputStream out) {
try {
prop.load(in);
in.close();
prop.store(out, "yay");
out.close();
}
catch (Exception e) {
System.out.println("Failed to create properties");
System.exit(3);
Log.d("Config", "Failed to create properly initialized config class");
}
}
public static Config getInstance() {
if(instance == null)
instance = new Config();
return instance;
}
public String getProperty (String key) {
return prop.getProperty(key);
}
}
java.io.FileNotFoundException
実行すると、 forを取得しconfig.global
ます。asM.open("config.global")
これは、コードの行でスローされます。しばらくこれで立ち往生。どんな助けでも大歓迎です!