我在这个类的 fragment 中:
public class NetworksList extends Fragment{
同样在
onCreate
函数中,我有这段代码: XmlPullParserFactory pullParserFactory;
try {
pullParserFactory = XmlPullParserFactory.newInstance();
XmlPullParser parser = pullParserFactory.newPullParser();
InputStream in_s = getActivity().getApplicationContext().getAssets().open("temp.xml");
parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
parser.setInput(in_s, null);
Toast.makeText(getActivity().getApplicationContext(), "size: ", Toast.LENGTH_LONG).show();
parseXML(parser);
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
希望我试图用来打开XML文件。我在assets文件夹中有我的XML文件,但是我得到了:
05-08 18:03:11.034 24645-24645/pt.smartgeo.aees W/System.err﹕ java.io.FileNotFoundException: temp.xml
05-08 18:03:11.034 24645-24645/pt.smartgeo.aees W/System.err﹕ at android.content.res.AssetManager.openAsset(Native Method)
05-08 18:03:11.034 24645-24645/pt.smartgeo.aees W/System.err﹕ at android.content.res.AssetManager.open(AssetManager.java:316)
05-08 18:03:11.034 24645-24645/pt.smartgeo.aees W/System.err﹕ at android.content.res.AssetManager.open(AssetManager.java:290)
05-08 18:03:11.034 24645-24645/pt.smartgeo.aees W/System.err﹕ at pt.smartgeo.aees.NetworksList$2.onClick(NetworksList.java:77)
FileNotFound ...我怎么知道将temp.xml文件放在哪里,以便可以在NetworksList类中打开它?
最佳答案
如果您确定在temp.xml
文件夹中有一个文件/assets
(必须在项目中的/src
和/res
处于同一级别),请尝试刷新F5。
您从assets
加载文件的方式是正确的:
InputStream is = getApplicationContext().getAssets().open("temp.xml");
关于android - Android资源-FileNotFound,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23548323/