android java读写yaml文件

这篇具有很好参考价值的文章主要介绍了android java读写yaml文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

申请读写权限:

build.gradle中添加库引用:

android java读写yaml文件

java修改yaml文件 YamlFile:

修改yaml文件方法2 Yaml:

删除值:


申请读写权限:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

build.gradle中添加库引用:

dependencies {
    /** 日志库 **/

    implementation 'androidx.core:core-ktx:1.2.0'
    implementation 'androidx.appcompat:appcompat:1.1.0'
    // 集成日志库
    api 'com.jakewharton.timber:timber:5.0.1'

    implementation 'org.yaml:snakeyaml:1.33'
    api 'com.google.code.gson:gson:2.8.5'
    api 'com.squareup.okhttp3:okhttp:4.9.1'
    implementation 'com.alibaba:fastjson:2.0.28'
}

android java读写yaml文件

import org.simpleyaml.configuration.file.YamlFile;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.Yaml;

    private static void run() {
            File file = new File("/data/data/com.xx/files/config.yaml");
            if (file.exists()) {
                YamlFile yamlFile = new YamlFile(file);
                try {
                    yamlFile.load();
                   int debug = yamlFile.getInt("debug", 1);
//                Timber.i("debug: " + debug);
                    Timber.i("debug: %s", debug);
                } catch (IOException e) {
                }
            }

        Map<String, Object> data = new HashMap<>();
        data.put("name", "John Doe");
        data.put("age", 30);

        DumperOptions options = new DumperOptions();
        options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
        Yaml yaml = new Yaml(options);

        try (FileWriter writer = new FileWriter("path_to_your_file.yaml")) {
            yaml.dump(data, writer);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

写文件可以参考下面的:java修改yaml文件 YamlFile 文章来源地址https://www.toymoban.com/news/detail-709195.html

java修改yaml文件 YamlFile:

    private  void modfiy_param(String key ,int value) {

        File file = new File("/data/data/com.xx/files/config.yaml");
        if (file.exists()) {
            YamlFile yamlFile = new YamlFile(file);
            try {
                yamlFile.load();
                int track_delay = yamlFile.getInt("aaa", 1);
                Timber.i("aaa: %s", aaa);
                yamlFile.set(key, value);
                yamlFile.save();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
}

修改yaml文件方法2 Yaml:

        Yaml yaml = new Yaml();
        Map<String, Object> data = null;
        try {
            data = yaml.load(new FileInputStream("/data/data/com.xx/files/config.yaml"));
            // 2. 修改这个对象
            data.put("name", "Jane Doe");
//        Map<String, Object> data = new HashMap<>();
            data.put(key, value);

            FileWriter writer = new FileWriter("/data/data/com.xx/files/config.yaml");
            yaml.dump(data, writer);
        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

删除值:

import org.yaml.snakeyaml.Yaml;

import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        deleteFromYamlFile("path_to_your_file.yaml", "name");
    }

    public static void deleteFromYamlFile(String filePath, String key) {
        Yaml yaml = new Yaml();

        try {
            // 1. 读取文件并将其解析为一个对象
            Map<String, Object> data = yaml.load(new FileInputStream(filePath));

            // 2. 从这个对象中删除一个键
            data.remove(key);

            // 3. 将修改后的对象写回到文件
            FileWriter writer = new FileWriter(filePath);
            yaml.dump(data, writer);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

到了这里,关于android java读写yaml文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android开发创建txt文件并读写txt文件数据

    在Android开发过程中,经常会遇到需要创建txt文件并写入数据的情况。今天我们来介绍一下如何实现这样的功能。 代码中的mStrPath为txt文件存储的路径,根据个人的需求确定路径,此处以 根目录,并命名为transcript.txt 为例,即 1. 读出txt文件的数据 3. 写入txt数据 [注]: ①当F

    2024年02月12日
    浏览(32)
  • 【Java】YAML读写常用工具包及使用示例

    YAML是一种常用的数据序列化格式,在Java应用程序中读写YAML数据是常见的任务。本文介绍了三个受欢迎的Java工具包:SnakeYAML、Jackson Dataformat YAML和YAMLBeans,它们都提供了读写YAML数据的功能。本文将逐一介绍这些工具包的特点、Maven依赖配置,并给出使用示例。最后,本文总结

    2024年02月04日
    浏览(41)
  • android studio开发——android11版本以上权限动态申请问题,包括文件读写、图片、相机的调用

    用于android手机的升级,现在已经是android13版本了,对于权限问题可能更加敏感了,前段时间开发发现之前的方法已经不再适用于android11以后的版本了 读写权限申请最好是跳转到设置中进行才是最好了,下面我们开始进行 首先是AndroidManifest.xml文件的权限 然后这里讲解一下权

    2024年02月10日
    浏览(47)
  • 头歌:Python开发技术—文件和异常3( 答案+详细注释)第1关:读取文件内容+第2关:素数写入文件+第3关:输出文件目录+第4关:读写json文件

    自己敲一遍这个代码,注释我写的超级详细,一定可以明白! 内容原创,请勿转载  知识点学习参考: 1.基本读写常用指令: 一文搞懂Python文件读写 - 知乎 (zhihu.com) 2.文件遍历知识总结:  (205条消息) python遍历文件夹下的所有文件_python遍历d盘下面所有文件(排除掉文件夹)

    2024年02月05日
    浏览(161)
  • Flutter 应用开发的pubspec.yaml文件说明

    pubspec.yaml是Flutter项目中的配置文件,它用于定义项目的依赖项、资源文件以及其他相关配置。 以下是pubspec.yaml文件的一些关键点: 项目名称:通过name字段指定项目的名称。 项目描述:通过description字段提供对项目的简要描述。 依赖项:使用dependencies字段定义项目所依赖的

    2024年02月05日
    浏览(29)
  • Android 文件读写

    Android的App可以读写的位置为: 一、内置data目录下对应app名称的目录; 二、扩展SD卡(包括虚拟的内置SD卡和外置SD卡); 一、先说说内置data目录下文件的读写。 内置data目录即内部存储,指的是应用内部独有的存储, 这部分存储的文件、数据,只能被应用自身访问到,其他

    2024年01月17日
    浏览(31)
  • Python读取和写入yaml文件

    yaml是专门用来写配置文件的语言,简洁强大,远比JSON格式方便,yaml在python语言中有PyYAML安装包。 我这边应用场景是用来做接口自动化时,接口返回的值写入到yaml文件,然后需要用的时候直接引用即可。不如登录接口,我需获取接口返回的token,下一个接口访问时需要携带

    2024年02月11日
    浏览(38)
  • 【Android 】android13 新权限获取 读写文件权限

    android13 新权限获取 参考:Android 13(API 33)读写SD卡权限的调整适配 - Mr,Han - 博客园 android在 获取文件读写权限(尤其是音视频、图片等等资源)的权限获取逻辑更换了。 必须申请如下权限: 这段逻辑可以看上面的文件拷贝类的代码:

    2024年02月04日
    浏览(47)
  • python通过yaml文件来实现环境配置

    YAML 的官方网站 python实现获取YAML 文件的完整路径 以上这段代码定义了一个函数 get_file_path() ,用于获取指定文件夹、环境命名文件夹和 YAML 文件的完整路径。 函数接受三个参数: folder :文件夹名称。 env :环境命名文件夹名称。 filename :YAML 文件名。 函数通过调用 Python

    2024年02月01日
    浏览(25)
  • python yaml库:safe_load()(安全解析函数,解析yaml)(防止yaml文件中包含恶意代码)

    YAML (YAML Ain’t Markup Language) 是一种人类可读的数据序列化标准。它被广泛用于配置文件、多语言环境、交互式应用等场合。Python 为 YAML 提供了强大的支持,其中包括一个安全的加载函数 safe_load 。 safe_load 是 PyYAML 库中的一个函数,用于安全地解析 YAML 文档。它的主要优点是可

    2024年02月08日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包