0

我不明白为什么会出现此错误,我正在尝试写入文件,而不是从中读取。起初我收到一个错误,因为我没有在 libs 文件夹中放一个 jar,现在我收到了这个错误。这是我的代码,不胜感激!:)

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);


    writeXML();


}




private void writeXML() {

    try{
    Document doc = new Document();

    Element theRoot = new Element("tvshows");
    doc.setRootElement(theRoot);

    Element show = new Element("show");
    Element name = new Element("show");
    name.setAttribute("show_id", "show_001");

    name.addContent(new Text("Life On mars"));

    Element network = new Element("network");
    network.setAttribute("country", "US");

    network.addContent(new Text("ABC"));

    show.addContent(name);
    show.addContent(network);

    theRoot.addContent(show);

    // - -



    Element show2 = new Element("show");
    Element name2 = new Element("show");
    name2.setAttribute("show_id", "show_002");

    name2.addContent(new Text("Life On mars"));

    Element network2 = new Element("network");
    network2.setAttribute("country", "US");

    network2.addContent(new Text("ABC"));

    show2.addContent(name2);
    show2.addContent(network2);

    theRoot.addContent(show2);

    XMLOutputter xmlOutput = new XMLOutputter(Format.getPrettyFormat());
    xmlOutput.output(doc, new FileOutputStream(new File("C:\\Users\\jmckay\\Desktop\\jdomMade.xml")));


    TextView tv = (TextView)findViewById(R.id.text);
    tv.setText("done");
    }catch(Exception e){
        e.printStackTrace();
    }
}
4

1 回答 1

1

看起来您正在尝试保存到 Windows 文件地址,而您无法从 Android 设备(模拟或其他方式)执行此操作。您可以使用openFileOutput获取 FileOutputStream 以写入内部存储中的文件(特定于您的应用程序):

xmlOutput.output(doc, openFileOutput(yourFilename, Context.MODE_PRIVATE));

查看有关存储选项的开发人员指南,尤其是内部和外部存储。

于 2013-08-04T15:07:46.050 回答