gpt4 book ai didi

java - 如何加载 Assets 文件夹中的属性文件?

转载 作者:行者123 更新时间:2023-11-30 10:46:20 28 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序,我需要读取 /app/src/main/assets/app.properties 中 Assets 文件夹中的属性。

但是当我使用时:

Properties properties = new Properties();
try {
properties.load(new FileInputStream("app.properties"));
} catch (IOException e) {
...
}

inputStream 似乎是null。我想我必须精确地指定 filepath 或类似的东西才能访问我的属性文件。

我需要在这个类中使用我的属性:/app/src/main/java/mypackage/model/myclass.java

最佳答案

您可以像这样使用您的 android 上下文加载属性文件:

context.getAssets().open("app.properties");

例如在 fragment 中:

try{
Properties properties = new Properties();
properties.load(this.getActivity().getAssets().open("app.properties"));
}catch(Exception e){
e.printStackTrace();
}

由于您似乎在无法访问上下文的类中需要它,因此您可以创建自己的应用程序类并静态访问上下文,然后在任何地方使用此上下文。

创建您的应用程序类:

public class MyApp extends Application {
private static MyApp instance;

public static MyApp getInstance() {
return instance;
}

public static Context getContext(){
return instance.getApplicationContext()
}

@Override
public void onCreate() {
instance = this;
super.onCreate();
}
}

将新创建的应用程序添加到 list 中:

<application
android:name="com.example.yourapp.MyApp"
...

完成后,您可以在 XMLParser 中加载您的属性:

try{
Properties properties = new Properties();
properties.load(MyApp.getContext().getAssets().open("app.properties"));
}catch(Exception e){
e.printStackTrace();
}

关于java - 如何加载 Assets 文件夹中的属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36593895/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com