I am trying to write a java application that reads and visualizes data from E00 file.
I cannot find any sources describing what is the structure of an E00 file and also what information does it contain exactly, line by line.
E00 is a proprietary ESRI file format intended to support the transfer between ESRI systems of different types of geospatial data used in ESRI software ( Old systems anyway, people use the ESRI file geodatabase now ). Usually, people then convert to coverages and work with those, they don't use the E00 file directly (somebody correct me if I'm wrong).
I think you're better off studying the Arc/Info Binary Coverage format as it is the format users will use, E00 is just the transfer format. However, if you insist on using the E00 format, you could check this analysis of the format. ESRI considers the format proprietary so there really isn't a specification. The link points to a "best guess" of what the format does.
This is an old format, shapefile, personal and file geodatabases are more commonly used today.
Note: ESRI never released any specification on this format. The following information is on a best guess (though highly accurate from experience.)
The E00 (E01,E02,E03,E0n) is much more that you think
from the following Arc/Info Export (E00) Format Analysis: The export file begins with a line with three fields.
1- an initial 'EXP' 2- what appears to be a constant of '0' for uncompressed files, and 1 for compressed files (FULL or PARTIAL). 3- the pathname for the creation of the export file The export file ends with a line beginning 'EOS'.
The ARC files are included first, in the following order (note that all these sections are not always present):
ARC CNT LAB PAL PAR TOL TXT, TX6, TX7, ... SIN LOG PRJ RXP RPL
For comprehensiveness please read the full context and credit to maptools.org