public class DtausDateiParser
extends java.lang.Object
Mit dem DTAUS-Parser können DTAUS-Dateien geparst werden, die eine oder mehrere logische Dateien enthalten.
Dem Parser kann über einen speziellen Konstruktor mitgeteilt werden, wie fehlertolerant er sein soll. Standardmässig wird das Encoding ISO-8859-1 verwendet. In einem Konstruktor kann ein anderes Encoding vorgegeben werden.
Sollen verschiedene Toleranzen aktiviert werden, sind die Parameter zu addieren. Aus Kompatibilitätsgründen wird beim Parameter HEX00TOSPACE automatisch der Parameter UMLAUTUMSETZUNG aktiviert.
Im Konstruktor wird der Parse-Vorgang gestartet. Die gesamte DTAUS-Datei verarbeitet. Die Daten werden in Objekten vom Typ "LogischeDatei" gespeichert.
Sollte die zu parsende DTAUS-Datei fehlerhaft sein, werden entsprechende DtausExceptions geworfen.
Nachdem das DtausDateiParser-Objekt instanziiert ist, kann über die Methode getAnzahlLogischerDateien() die Anzahl der enthaltenen logischen Dateien ermittelt werden.
Standardmäßig beziehen sich die getASatz()-, next() und getESatz()-Methoden-Aufrufe auf die erste logische Datei. Mit setLogischeDatei(int) kann eine andere logische Datei ausgewählt werden.
Beispiel Auflistung aller Datensätze der 2. logischen Datei:
DtausDateiParser p = new DtausDateiParser("/home/heiner/dtaus0.txt");
p.setLogischeDatei(2);
CSatz c = p.next();
while (c != null)
{
System.out.println(c);
c = p.next();
}
System.out.println("----");
System.out.println(p.getASatz());
System.out.println(p.getESatz());
Modifier and Type | Field and Description |
---|---|
private ASatz |
asatz |
private java.io.InputStream |
dtaus |
private java.lang.String |
encoding |
private ESatz |
esatz |
static int |
FALSCHESWAEHRUNGSKENNZEICHENERLAUBT |
static int |
HEX00TOSPACE |
private LogischeDatei |
logdat |
private java.util.Vector<LogischeDatei> |
logischeDateien |
static int |
SPEZIFIKATIONSKONFORM |
private int |
toleranz |
static int |
UMLAUTUMSETZUNG |
Constructor and Description |
---|
DtausDateiParser(java.io.File file) |
DtausDateiParser(java.io.InputStream is) |
DtausDateiParser(java.io.InputStream is,
int toleranz) |
DtausDateiParser(java.io.InputStream is,
int toleranz,
java.lang.String encoding) |
DtausDateiParser(java.lang.String filename) |
DtausDateiParser(java.lang.String filename,
int toleranz)
Konstruktor mit der Möglichkeit, die Fehlertoleranz einzustellen.
|
DtausDateiParser(java.lang.String filename,
int toleranz,
java.lang.String encoding) |
Modifier and Type | Method and Description |
---|---|
int |
getAnzahlLogischerDateien() |
ASatz |
getASatz() |
ESatz |
getESatz() |
LogischeDatei |
getLogischeDatei(int nr) |
private int |
getSatzlaenge(java.lang.String satzlaengenfeld)
Umsetzung der logischen Satzlänge in die physikalische Satzlänge
|
private CSatz |
internNext() |
private java.lang.String |
lese() |
static void |
main(java.lang.String[] args) |
CSatz |
next() |
void |
setLogischeDatei(int nr)
aktuelle logische Datei setzen.
|
private java.lang.String encoding
private java.io.InputStream dtaus
private ASatz asatz
private ESatz esatz
private java.util.Vector<LogischeDatei> logischeDateien
private LogischeDatei logdat
public static final int SPEZIFIKATIONSKONFORM
public static final int UMLAUTUMSETZUNG
public static final int HEX00TOSPACE
public static final int FALSCHESWAEHRUNGSKENNZEICHENERLAUBT
private int toleranz
public DtausDateiParser(java.lang.String filename) throws java.io.IOException, DtausException
java.io.IOException
DtausException
public DtausDateiParser(java.io.File file) throws java.io.IOException, DtausException
java.io.IOException
DtausException
public DtausDateiParser(java.lang.String filename, int toleranz) throws java.io.IOException, DtausException
java.io.IOException
DtausException
public DtausDateiParser(java.lang.String filename, int toleranz, java.lang.String encoding) throws java.io.IOException, DtausException
java.io.IOException
DtausException
public DtausDateiParser(java.io.InputStream is) throws java.io.IOException, DtausException
java.io.IOException
DtausException
public DtausDateiParser(java.io.InputStream is, int toleranz) throws java.io.IOException, DtausException
java.io.IOException
DtausException
public DtausDateiParser(java.io.InputStream is, int toleranz, java.lang.String encoding) throws java.io.IOException, DtausException
java.io.IOException
DtausException
public int getAnzahlLogischerDateien()
public void setLogischeDatei(int nr) throws DtausException
DtausException
public LogischeDatei getLogischeDatei(int nr)
private CSatz internNext() throws java.io.IOException, DtausException
java.io.IOException
DtausException
public ASatz getASatz()
public CSatz next()
public ESatz getESatz()
private java.lang.String lese() throws java.io.IOException, DtausException
java.io.IOException
DtausException
private int getSatzlaenge(java.lang.String satzlaengenfeld) throws DtausException
DtausException
public static void main(java.lang.String[] args)