0

我正在尝试创建一个基本的 Android 应用程序,其中使用 SimpleXML 对 XML 文件进行反序列化。我正在关注本教程:http ://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#deserialize 。

但是我得到了这个异常: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)

这是活动的代码:

public class MainActivity extends Activity {

private TextView mTextView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    try {
        getAnimal();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

public void getAnimal() throws Exception{
    Serializer serializer = new Persister();
    File source = new File("animal.xml");

    Animal animal = serializer.read(Animal.class, source);
    this.mTextView = (TextView) findViewById(R.id.textView1);
    mTextView.setText(animal.getSpecie()); 
}
}

有谁知道是什么导致了异常?谢谢!

4

1 回答 1

0

所以我终于通过将 XML 文件移动到 Asset 文件夹并替换来解决我的问题:

File source = new File("animal.xml"); 

和:

InputStream source = getAssets().open("animal.xml");
于 2013-05-15T08:57:17.493 回答