XML与JSON的读写操作示例

需积分: 9 0 下载量 158 浏览量 更新于2024-09-11 收藏 68KB DOCX 举报
该资源主要涉及XML、JSON和IO三方面的基本操作,特别是关于数据的读取和写入。在XML部分,展示了如何通过继承`DefaultHandler`来解析XML文档,提取出`Person`对象的信息。而在IO部分,演示了如何从资源中读取文件并写入到外部存储。 XML部分: 在XML处理中,使用了SAX解析器的一个关键接口`DefaultHandler`。这个例子中创建了一个名为`xmlHandler`的类,它扩展了`DefaultHandler`。`DefaultHandler`提供了处理XML文档事件的方法,如开始元素(`startElement`)、结束元素(`endElement`)以及字符数据(`characters`)。 1. `characters`方法:当遇到XML文本内容时,会调用此方法。在这个例子中,将接收到的字符添加到`StringBuffer sb`中,并调用父类的`characters`方法,以确保其他可能需要的处理。 2. `startDocument`方法:这是处理XML文档的起点,通常用于初始化一些变量。在这里,创建了一个`List<Person>`来存储解析到的`Person`对象。 3. `startElement`方法:当遇到XML元素的开始标签时调用。如果元素是"Person",则创建一个新的`Person`对象。 4. `endElement`方法:当遇到XML元素的结束标签时调用。在这里,如果遇到"Person"的结束标签,就将解析到的`Person`对象添加到列表中;如果遇到"name"的结束标签,就将`StringBuffer`中的内容作为名字赋值给`Person`对象,并清空`StringBuffer`,以便处理下一个元素。 JSON部分: 虽然在提供的代码片段中没有直接涉及JSON的处理,但在实际应用中,处理JSON通常会使用类似的方式,例如使用Gson或Jackson库将JSON字符串转换为Java对象,或者将Java对象序列化为JSON字符串。 IO部分: IO操作展示了如何从应用程序的资源中读取一个文件(如"image.jpg"),然后将其写入外部存储目录。这里使用了`FileOutputStream`和`InputStream`进行文件的读写。 1. 创建`FileOutputStream`实例,指定写入的文件路径。 2. 从资源中打开输入流`InputStream`,通常是从assets目录获取文件。 3. 创建一个字节数组缓冲区,用于临时存储读取的数据。 4. 使用循环读取输入流中的数据,每次读取1024字节,直到没有更多数据为止。 5. 将读取的数据写入到输出流,完成数据的复制。 这些基本操作是Android开发中处理XML、JSON和文件IO时的常见实践,它们对于数据的序列化、反序列化和文件操作至关重要。在实际项目中,可能会结合使用这些技术来实现数据的持久化、网络传输等功能。