{"id":20498145,"url":"https://github.com/ushiosan23/simple_ini","last_synced_at":"2026-05-27T20:31:24.249Z","repository":{"id":44375741,"uuid":"512317541","full_name":"Ushiosan23/simple_ini","owner":"Ushiosan23","description":"Library for managing ini files","archived":false,"fork":false,"pushed_at":"2022-10-12T05:47:44.000Z","size":159,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-16T06:35:41.134Z","etag":null,"topics":["extensible","ini","java","library"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ushiosan23.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-10T01:11:19.000Z","updated_at":"2023-06-25T18:06:52.000Z","dependencies_parsed_at":"2023-01-20T00:45:37.039Z","dependency_job_id":null,"html_url":"https://github.com/Ushiosan23/simple_ini","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ushiosan23%2Fsimple_ini","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ushiosan23%2Fsimple_ini/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ushiosan23%2Fsimple_ini/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ushiosan23%2Fsimple_ini/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ushiosan23","download_url":"https://codeload.github.com/Ushiosan23/simple_ini/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242087919,"owners_count":20069722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["extensible","ini","java","library"],"created_at":"2024-11-15T18:13:12.377Z","updated_at":"2026-05-27T20:31:24.208Z","avatar_url":"https://github.com/Ushiosan23.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple INI\n\n[![javadoc](https://javadoc.io/badge2/com.github.ushiosan23/simple-ini/simple--ini.svg?logo=openjdk)](https://javadoc.io/doc/com.github.ushiosan23/simple-ini)\n\nA lightweight library for loading and handling ini files and data.\n\nHandling of basic and advanced ini files, for example ini files with attributes or multiline entries,\nwhile these behaviors are not standard to the format itself, this behavior was added as an option and\nhas to be changed via a configuration object before it can be used.\nWe can see this type of behavior in configuration files (.conf) that have a syntax similar to .ini or the files\nthat Godot generates in its scenes or resources.\n\n## How can use it\n\n- You can download the source code and compile it.\n- You can also download the precompiled jar files, but without the required libraries to make them work.\n\t- If you want to know what libraries you use then go [here](./DEPENDENCIES.md)\n- We strongly recommend that you use a build system like maven or gradle as configuration is much easier and\n  prevents headaches\n\n### Maven configuration\n\nIf you use maven as the build system then the configuration should be as follows:\n\n```xml\n\n\u003cdependencies\u003e\n\t\u003cdependency\u003e\n\t\t\u003cgroupId\u003ecom.github.ushiosan23\u003c/groupId\u003e\n\t\t\u003cartifactId\u003esimple-ini\u003c/artifactId\u003e\n\t\t\u003cversion\u003ex.x.x\u003c/version\u003e\n\t\u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n### Gradle configuration\n\nIf you are one of those who uses Groovy DSL:\n\n```groovy\ndependencies {\n\timplementation \"com.github.ushiosan23:simple-ini:x.x.x\"\n}\n```\n\nIf you are one of those who uses Kotlin DSL:\n\n```kotlin\ndependencies {\n\timplementation(\"com.github.ushiosan23:simple-ini:x.x.x\")\n}\n```\n\n### Example\n\nA small example of how to load an ini file from java code:\n\n```java\npackage my.awesone_package;\n\n// Import all elements\n\nimport java.io.IOException;\nimport java.nio.file.Path;\n\nimport ushiosan.simple_ini.SimpleIni;\nimport ushiosan.simple_ini.IniOptions;\nimport ushiosan.simple_ini.section.Section;\nimport ushiosan.simple_ini.section.advanced.SectionAdvanced;\n\n\nclass Example {\n\n\t// Entry main point\n\tpublic static void main(String[] args) throws IOException {\n\t\t// Simple\n\t\tSimpleIni\u003cSection\u003e simple = loadSimpleIni();\n\t\tSection simpleSection = simple.getDefaultSection();\n\n\t\tSystem.out.println(simpleSection);\n\n\t\t// Advanced\n\t\tSimpleIni\u003cSectionAdvanced\u003e advanced = loadAdvancedIni();\n\t\tSectionAdvanced advancedSection = advanced.getDefaultSection();\n\n\t\tSystem.out.println(advancedSection.getAttributes());\n\t}\n\n\t// Simple load ini file\n\tprivate static SimpleIni\u003cSection\u003e loadSimpleIni() throws IOException {\n\t\t// Base variables\n\t\tPath simpleIniPath = Path.of(\"my_simple_ini_file.ini\");\n\t\tSimpleIni\u003cSection\u003e ini = new SimpleIni();\n\t\t// Load ini content\n\t\tini.load(simpleIniPath);\n\t\treturn ini;\n\t}\n\n\t// Advanced load ini file\n\tprivate static SimpleIni\u003cSectionAdvanced\u003e loadAdvancedIni() throws IOException {\n\t\t// Base variables\n\t\tPath advancedIniPath = Path.of(\"my_advanced_ini_file.ini\");\n\t\tSimpleIni\u003cSectionAdvanced\u003e ini = new SimpleIni();\n\t\tIniOptions config = IniOptions.createBuilder()\n\t\t\t.setAdvanced(true) // Optional -\u003e default false\n\t\t\t.setMultiline(true) // Optional -\u003e default false\n\t\t\t.build();\n\n\t\t// Load ini content\n\t\tini.load(advancedIniPath, config);\n\t\treturn ini;\n\t}\n\n}\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fushiosan23%2Fsimple_ini","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fushiosan23%2Fsimple_ini","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fushiosan23%2Fsimple_ini/lists"}