java-course

TOML

..

TOML (Tom’s Obvious, Minimal Language) — это формат конфигурационного файла, разработанный для ясности и очевидности. Он предназначен для того, чтобы быть легко читаемым и понятным для человека, а также простым в парсинге и генерации для машины. TOML особенно подходит для конфигурационных файлов и стал популярным благодаря своей простоте и ясности.

Структура TOML

TOML организован в виде таблиц, которые представляют собой коллекции пар ключ-значение. Основные элементы структуры TOML включают:

  1. Ключ-значение: Пары ключ-значение представляют собой основные элементы данных.
  2. Таблицы: Группы ключей, образующие логически связанные данные, представлены в виде таблиц.
  3. Массивы (списки): Списки значений или таблиц, поддерживающие однородные коллекции.
  4. Время и дата: TOML поддерживает встроенные типы данных для времени и даты.

Пример файла TOML

# Пример конфигурационного файла в TOML
title = "Example TOML"

[owner]
name = "John Doe"
dob = 1979-05-27T07:32:00Z

[database]
server = "192.168.1.1"
ports = [8001, 8001, 8002]
connection_max = 5000
enabled = true

[servers]

  # Индентация помогает визуальной группировке
  [servers.alpha]
  ip = "10.0.0.1"
  dc = "eqdc10"

  [servers.beta]
  ip = "10.0.0.2"
  dc = "eqdc10"

Работа с TOML в Java

Для работы с TOML в Java можно использовать несколько библиотек. Одной из популярных библиотек для работы с TOML в Java является toml4j.

Добавление toml4j в ваш проект

Если вы используете Maven, добавьте следующую зависимость в ваш pom.xml:

<dependency>
    <groupId>com.moandjiezana.toml</groupId>
    <artifactId>toml4j</artifactId>
    <version>0.7.2</version>
</dependency>

Пример использования toml4j

Вот как можно парсить и генерировать данные TOML в Java с помощью toml4j:

import com.moandjiezana.toml.Toml;

import java.util.Map;

public class Main {
    public static void main(String[] args) {
        // Загрузка и парсинг TOML файла
        Toml toml = new Toml().read(new File("config.toml"));
        String title = toml.getString("title");
        Map<String, Object> owner = toml.getTable("owner").toMap();

        System.out.println("Title: " + title);
        System.out.println("Owner: " + owner);

        // Пример создания TOML строки
        Toml tomlToWrite = new Toml().read("[new]\ndata = 'example'");
        System.out.println(tomlToWrite);
    }
}

Преимущества TOML

TOML предлагает простой и интуитивно понятный подход к управлению конфигурацион

ными файлами, особенно в средах, где важна прозрачность и доступность данных.