gpt4 book ai didi

java - openFileOutput 抛出异常

转载 作者:行者123 更新时间:2023-12-01 05:52:11 26 4
gpt4 key购买 nike

我正在将数据写入 Android 应用程序中的 xml 文件。我查找了如何正确执行文件 IO 并发现我需要使用 openFileOutput。据我所知,我的代码没有任何问题,但它不断在我在以下代码中包含一个 try-catch 的行抛出异常:

public void writeSearchXML(ArrayList<String> searches, String file)
throws Exception {
// try {
// File newxmlfile = new File(file);
// newxmlfile.createNewFile();
// } catch (Exception e) {
// }
try {
// THE FOLLOWING LINE THROWS AN EXCEPTION EVERY TIME
FileOutputStream out = openFileOutput(file,
Context.MODE_WORLD_WRITEABLE);
} catch (Exception e) {
throw new Exception("Failing on fileoutput stream searches.");
}
FileOutputStream fOut = openFileOutput(file,
Context.MODE_WORLD_READABLE);
// we create a XmlSerializer in order to write xml data
XmlSerializer serializer = Xml.newSerializer();
// we set the FileOutputStream as output for the serializer, using UTF-8
// encoding
serializer.setOutput(fOut, "UTF-8");
// Write <?xml declaration with encoding (if encoding not null) and
// standalone flag (if standalone not null)
serializer.startDocument(null, Boolean.valueOf(true));
// set indentation option
serializer.setFeature(
"http://xmlpull.org/v1/doc/features.html#indent-output", true);
// start a tag called "root"
serializer.startTag(null, "searches");
for (String search : searches) {
serializer.startTag(null, "search");
serializer.text(search);
serializer.endTag(null, "search");
}
// // i indent code just to have a view similar to xml-tree
// serializer.startTag(null, "username");
// serializer.text(username);
// serializer.endTag(null, "username");
// serializer.startTag(null, "password");
// serializer.text(password);
// serializer.endTag(null, "password");
// //serializer.attribute(null, "attribute", "value");
serializer.endTag(null, "searches");
serializer.endDocument();
// write xml data into the FileOutputStream
serializer.flush();
// finally we close the file stream
fOut.close();
}

所有这些代码中唯一的问题就是这一行。我在互联网上进行了搜索,但无法找到解决方案。我可以做什么来解决这个问题?

更新:抛出的异常是 fileNotFound 异常。这让我相信 openFileOutput 函数实际上并不像描述中那样创建文件。在 Android 中,我可以做什么来创建文件而不使用 openFileOutput

最佳答案

我在这里找到了答案: android what is wrong with openFileOutput?

必须使用 Activity 上下文调用 openFileOutput。

关于java - openFileOutput 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4322090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com