【问题标题】:How to write multiple records to JSON如何将多条记录写入 JSON
【发布时间】:2013-06-04 04:12:00
【问题描述】:

我正在尝试将一些 rss 保存到 JSON 文件,但新记录总是会覆盖之前的记录。如何在一个文件中保存多条 rss 记录?

private void writeJSONtoFile(String jsnStr) {
        FileOutputStream fos;
        try {
            fos = openFileOutput("json_local.xml", Context.MODE_WORLD_WRITEABLE);
            fos.write(jsnStr.getBytes());
            Log.i("json_convert", jsnStr);
            fos.flush();
            fos.close();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        Log.i("Favorites", "" + jsnStr);
        Toast.makeText(getApplicationContext(),
                item_title + " добавлено в избранное",
                Toast.LENGTH_SHORT).show();
    }

【问题讨论】:

    标签: android json file io


    【解决方案1】:

    使用“MODE_APPEND”而不是“MODE_WORLD_WRITEABLE”

    来自 Android 文档: "文件创建模式:用于 openFileOutput(String, int),如果文件已经存在,则将数据写入现有文件的末尾而不是擦除它。"

    另外,我想提一下,Android 文档对“MODE_WORLD_WRITEABLE”的使用发出如下警告:

    "此常量在 API 级别 17 中已弃用。创建全局可写文件非常危险,并可能导致应用程序中的安全漏洞。强烈建议不要这样做;相反,应用程序应使用更正式的交互机制,例如如 ContentProvider、BroadcastReceiver 和 Service。不保证此访问模式将保留在文件上,例如在进行备份和恢复时。文件创建模式:允许所有其他应用程序对创建的文件具有写访问权限。 "

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      • 1970-01-01
      • 1970-01-01
      • 2015-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多