Skip to content

nikhaldi/inieditor-java

Repository files navigation

IniEditor

IniEditor is a small Java library to read and edit INI-style configuration files. Its core feature is that it preserves the general formatting of a loaded INI file: It represents comments, blank lines as well as the order of sections and lines.

Example code

Here's a minimal example. Suppose, we have this in a file called users.ini:

[root]
role = administrator
last_login = 2003-05-04

[joe]
role = author
last_login = 2003-05-13

Let's load that file, add something to it and save the changes:

import com.nikhaldimann.inieditor.IniEditor;

IniEditor users = new IniEditor();
users.load("users.ini");
users.set("root", "last_login", "2003-05-16");
users.addComment("root", "Must change password often");
users.set("root", "change_pwd", "10 days");
users.addBlankLine("root");
users.save("users.ini");

This is how the file turned out:

[root]
role = administrator
last_login = 2003-05-16

# Must change password often
change_pwd = 10 days

[joe]
role = author
last_login = 2003-05-13

Documentation

The latest JavaDocs generated from the source are at http://nikhaldi.github.com/inieditor-java/javadoc/

Downloads

The latest release is available from Maven Central. Add this dependency to your pom.xml:

<dependency>
  <groupId>com.nikhaldimann</groupId>
  <artifactId>inieditor</artifactId>
  <version>r6</version>
</dependency>

If you use a build system other than Maven, a download of the latest release including a precompiled JAR file is available at http://nikhaldi.github.com/inieditor-java/downloads/inieditor.tar.gz

If for some reason you need an older release, r4 (from before the package rename) is also available to download at http://nikhaldi.github.com/inieditor-java/downloads/inieditor-r4.tar.gz

Changelog

r1, 07/31/2003:

  • initial public release

r2, 12/20/2003:

  • added methods load(InputStreamReader) and save(OutputStreamWriter) to support character encodings other than the default one through readers and writers.

r3, 5/4/2005:

  • fixed bug where loaded files weren't closed properly.

r4, 8/10/2005 (download):

  • added the concept of an option format which makes it possible to finetune the output format when saving to a file.

r5, 3/4/2013 (Maven, download):

  • revived the code from an old backup
  • renamed package from ch.ubique.inieditor to com.nikhaldimann.inieditor, as I don't own the ubique.ch domain anymore
  • used generic collection types throughout

r6, 4/27/2017 (Maven, download)

  • added IniEditor.getSectionMap()

License

IniEditor is Copyright (c) 2003-2017, Nik Haldimann (nhaldimann at gmail dot com). It comes with a BSD-style license: You may use and modify it freely as well as redistribute it under certain conditions. See the LICENSE.txt file for details.

About

Java library to read and edit INI-style configuration files

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages