import java.io.*;
public class DateiErzeuger {
public DateiErzeuger()
{
}public static String[] zeileTrennen(String zeile)
{
//System.out.println("String in Klasse Parser.java" + zeile);
//Aufteilen des Strings nach ; und schreiben in String Array
String[] ergebnis = zeile.split(";");
//Testausgabe der parser Funktion!
/*System.out.println(ergebnis[0].trim());
System.out.println(ergebnis[1].trim());
System.out.println(ergebnis[2].trim());*/
return ergebnis;
}
public static void main(String[] argv)
{
String nameAusgabeDatei = "update.txt";
String namekeinTreffer = "keinTreffer.txt";
String nameRichtigeDatei = "adresseels.txt";
String nameFalscheDatei = "erkennung_anrufer.txt";
String zeileRichtig = null;
String zeileFalsch = null;
String update = "";
String[] splitRichtig = null;
String[] splitFalsch = null;
FileWriter ausgabeDatei = null;
FileWriter keinTrefferDatei = null;
FileReader richtigeDatei = null;
FileReader falscheDatei = null;
BufferedReader brRichtig=null;
BufferedReader brFalsch=null;
BufferedWriter bw=null;
BufferedWriter bwkeinTreff = null;
boolean gefunden = false;
try
{
ausgabeDatei = new FileWriter(nameAusgabeDatei);
keinTrefferDatei = new FileWriter(namekeinTreffer);
richtigeDatei = new FileReader(nameRichtigeDatei);
falscheDatei = new FileReader(nameFalscheDatei);
System.out.println("FileReader erzeugt!");
System.out.flush();
}
catch (Exception e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
try
{
brFalsch = new BufferedReader(falscheDatei);
brRichtig = new BufferedReader(richtigeDatei);
bw = new BufferedWriter(ausgabeDatei);
bwkeinTreff = new BufferedWriter(keinTrefferDatei);
System.out.println("Buffered Reader erzeugt.");
System.out.flush();
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Vor Schleife.");
System.out.flush();
try
{
while ((zeileFalsch = brFalsch.readLine()) != null)
{
gefunden = false;
splitFalsch = zeileTrennen(zeileFalsch);
richtigeDatei = new FileReader(nameRichtigeDatei);
brRichtig = new BufferedReader(richtigeDatei);
while ((zeileRichtig = brRichtig.readLine()) != null)
{
splitRichtig = zeileTrennen(zeileRichtig);
if ( splitFalsch[1].trim().equals(splitRichtig[1].trim())
&& splitFalsch[2].trim().equals(splitRichtig[2].trim()))
{
update = "update erkennung_anrufer set Ort ='" + splitRichtig[0].trim() +
"' where Ort = '" + splitFalsch[0].trim() + "' and Strasse in ( select strasse from " +
"erkennung_anrufer where Strasse = '" + splitFalsch[2].trim() + "' );" + "\n" +
"commit;" + "\n";
bw.write(update);
// System.out.println("Treffer! PLZ:"+splitFalsch[1] + "PasstPLZ:" +splitRichtig[1] + " StraßeFalsch:"+ splitFalsch[2] + " passt Straße:"+ splitRichtig[2]);
// System.out.flush();
gefunden = true;
break;
}
}
brRichtig.close();
if (gefunden == false)
{
bwkeinTreff.write(zeileFalsch + "\n");
}
}
brFalsch.close();
bw.close();
bwkeinTreff.close();
}
catch(Exception ex1)
{
System.out.println("Lulli falsch!!");
}
System.out.println("Fertig!!");
} // main