利用XML的序列化器来存储一些文本文件

文件保存

  • 很多时候都用用到xml来保存一些文本文件

    public static void smsBackup(Context context,String path) throws IllegalArgumentException, IllegalStateException, IOException{
    ContentResolver resolver = context.getContentResolver();
    
    /**
     * 要将一个文件保存成XML文件,则必须要生成一个XML文件用于保存这些内容。
     * 要生成XML文件,则需要一个XML序列化器
     */
    XmlSerializer serializer = Xml.newSerializer();
    
    File file = new File(path);
    FileOutputStream os = new FileOutputStream(file);
    serializer.setOutput(os, "utf-8");
    serializer.startDocument("utf-8", true);
    serializer.startTag(null, "smss");
    
    Uri uri = Uri.parse("content://sms");
    Cursor cursor = resolver.query(uri, new String[]{"address","date","type","body"}, null, null, null);
    while (cursor.moveToNext()) {
        String address = cursor.getString(0);
        String date = cursor.getString(1);
        String type = cursor.getString(2);
        String body = cursor.getString(3);
    
    }
    cursor.close();
    serializer.endTag(null, "smss");
    serializer.endDocument();       
    }
    
    1. 先定义一个上下文的解析器。这里用的resolver.这个上下文的解析器遍历根据指定条件利用while循环遍历整个数据库中所有的内容;
    2. 遍历的条件有如下这些:
    3. 指定现在要去遍历的文本文件存放的路径;

      Uri uri = Uri.parse("content://sms");
      
    4. 设定遍历的条件。这里遍历之后只要获取到的指定的这四个字段。
    5. 其他的选择田间现在一概不讨论。

    6. 定义一个xml的序列化器来装得到的数据。

      XmlSerializer serializer = Xml.newSerializer();

    7. 得到的序列化器要对其输入的路径和编码方式进行设置。首先就是路径,在文件当中已经跟上下文一起传入了一个文件存入路径,用文件输入流的形式将其存入。
    8. 而后再设定文件的编码方式;

注意

  • 序列化器的标签和文件都要开始和结束程度出现,并且前后呼应以保证文件格式不出错。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值