Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何读取/写入xml文件?_Java_Android_Xml - Fatal编程技术网

Java 如何读取/写入xml文件?

Java 如何读取/写入xml文件?,java,android,xml,Java,Android,Xml,我已经创建了一个xml文件,其中包含标记和标记值 <?xml version="1.0" encoding="utf-16"?> <Scoreboard> <Score> <username>Ryan</username> <points>200</points> </Score> 目前,我的xml文件存储在一个资产文件夹中,但当我尝试写入时,我收到一个错误,说它是只读的。我怎样才

我已经创建了一个xml文件,其中包含标记和标记值

<?xml version="1.0" encoding="utf-16"?>
<Scoreboard>

<Score>
    <username>Ryan</username>
    <points>200</points>
</Score>
目前,我的xml文件存储在一个资产文件夹中,但当我尝试写入时,我收到一个错误,说它是只读的。我怎样才能避开这个问题呢


任何帮助都将不胜感激,我花了整个下午的时间试图找到这个问题的解决方案,但几乎什么都没有想到,谢谢。

有一个编写xml文件的课程:

serializer = Xml.newSerializer();
writer = new StringWriter(); 
try { 
serializer.setOutput(writer);
serializer.startDocument("UTF-8", true); 
serializer.setPrefix(prefix, namespace); 
serializer.startTag(prefix, tagName); 
serializer.attribute(prefix, attrName, value);
serializer.endTag(prefix, tagName); 
serializer.endDocument(); 
return writer.toString();
 } catch (IOException e) {
 throw new RuntimeException(e);
 }
XmlPullParserFactory xmlPullParserFactory = XmlPullParserFactory.newInstance(); 
xmlPullParserFactory.setNamespaceAware(true); 
XmlPullParser xmlPullParser = xmlPullParserFactory.newPullParser(); 
xmlPullParser.setInput(new StringReader(xml)); 
return xmlPullParser;
甚至对于读取xml文件:

serializer = Xml.newSerializer();
writer = new StringWriter(); 
try { 
serializer.setOutput(writer);
serializer.startDocument("UTF-8", true); 
serializer.setPrefix(prefix, namespace); 
serializer.startTag(prefix, tagName); 
serializer.attribute(prefix, attrName, value);
serializer.endTag(prefix, tagName); 
serializer.endDocument(); 
return writer.toString();
 } catch (IOException e) {
 throw new RuntimeException(e);
 }
XmlPullParserFactory xmlPullParserFactory = XmlPullParserFactory.newInstance(); 
xmlPullParserFactory.setNamespaceAware(true); 
XmlPullParser xmlPullParser = xmlPullParserFactory.newPullParser(); 
xmlPullParser.setInput(new StringReader(xml)); 
return xmlPullParser;

“资源”文件夹是只读的。您需要将文件移动到SDCard@cricket_007谢谢你的回复。我会试试这个,看看效果如何@cricket_007如果用户没有sd卡,我可以在哪里保存文件。是否有任何方法可以将其保存在应用程序中,同时使其可读写?所有设备都有SD卡。它不需要是“可移动”的哦,糟糕,我把它当作一个sd卡,可以物理插入。好的,你有什么地方可以推荐给我学习怎么做吗?虽然听起来很悲伤,但我花了很多时间试图找到答案。如果我不想创建一个全新的文件,如何在不创建新文件的情况下写入已存在的文件?我计划在用户下载应用程序时,文件中已经有5分。@RW6您可以使用解析器读取已存在的文件,然后创建一个简单的函数,将解析器内容加载到序列化程序中,在序列化程序中添加所需内容,然后覆盖文件