我在这个类的 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/

10-10 02:04