libextractor is a
similar project written in C (and C++ for some formats).
libextractor does not support the same number of formats
at this point and also does not allow writing of tags, but if
you need something similar for C (or Java) this might just
be what you want.
An open, cross-platform journaling program.
A scientific plotting package.