• 其次是文件存储问题


    我本来以为安卓和Windows一样,直接在根目录new一个File对象然后随便怎么操作都行呢。

    然后各种文件或目录没找到的异常表示这样行不通。

    于是就找办法呗。

    首先是输出流的问题,要往安卓的文件里写东西,不是自己new各种输出流的。

    Context类提供了一个方法:

    android.content.Context.openFileOutput(String name, int mode)

    所以就需要往管输入输出的类的构造函数里传入Activity自身,用以打开输入输出流。

    第一个参数好理解,就是文件名,不过是单纯的文件名,不包含任何目录和分隔符的那种。

    第二个是输出输出模式,有几个静态常量,在Context类里。

      MODE_PRIVATE: 默认操作

      MODE_APPEND: 追加模式,在已经存在的文件后面追加内容。

      MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE: 官方文档表示,用来控制权限。

    然后方法的返回值就是相应的输入输出流。

    搞定了这些之后,我以为就可以写文件了,结果发现又报错了,好在这次我一眼就看到了错在哪。

    总之是没有权限。

    于是就加上了往外部存储写入的权限,同时又在网上发现了外部存储路径的获得方法:

    // 获取外部存储路径并创建文件对象。
    File externalDirectory = Environment.getExternalStorageDirectory();
    String fileName = "xml_resource.xml";
    File file = new File(externalDirectory, fileName);

    于是终于写出文件成功了,虽然打印的日志是乱码,但是按照之前的测试,代码应该是没问题的。

    总之又出现了更多bug,慢慢解决……

  • 相关阅读:
    i'm all geared up
    android设置主题和自定义主题的方法
    &和&&的区别
    兼容IE与Firefox的js 复制代码
    实用的注册表单验证代码
    常用JavaScript属性和方法
    400多个JavaScript特效大全
    float引起层飘出父层的解决方法
    JavaScript常见兼容性处理
    多种方法实现checkbox全选、取消全选、删除功能
  • 原文地址:https://www.cnblogs.com/chihane/p/3619078.html
Copyright © 2020-2023  润新知