我的文件assets
夹中有一个文件,我想在我命名的类中访问它StorageManager
(只是一个普通类,不扩展任何东西):
public class StorageManager {
private Context context;
public StorageManager(Context context){
this.context=context;
}
public String readFileAsString(String filePath) throws java.io.IOException {
AssetManager am = context.getAssets();
InputStream is = am.open(filePath);
String results = "";
int data = is.read();
while (data !=-1) {
results += (char)data;
data = is.read();
}
is.close();
return results;
}
}
我在 a 中创建这个类的一个实例并作为上下文ListFragment
传递。getActivity()
readFileAsString
但是,当我用有效的方式拨打电话时,filePath
我得到了一条NullPointerException
线路:
AssetManager am = context.getAssets();
我假设这意味着上下文为空。但为什么?我该如何解决?
编辑
它是如何称呼的:
public class MyListFragment extends ListFragment {
public View onCreateView(LayoutInflater inflater, .....etc) {
...
StorageManager storage = new StorageManager(getActivity());
try{
String filetext = readFileAsString("file");
}catch(...)}
...
}
}