Uebungsaufgaben/Semester2/test.java
2024-05-06 23:50:11 +02:00

96 lines
3.6 KiB
Java

package Semester2;
import java.io.*;
import java.util.HashMap;
public class test {
// [6 Kundennummer, 20 Nachname, 20 Vorname, 20 Straße, 5 Hausnummer, 5 PLZ, 20 Ort, int Umsatz]
public static void main (String[] args) {
try {
File festeBreite = new File("C:\\Git\\Hochschule\\Semester2\\12_Dateien_Fuer_Aufgabe1\\festeBreite.txt");
File trennzeichen = new File("C:\\Git\\Hochschule\\Semester2\\12_Dateien_Fuer_Aufgabe1\\trennzeichen.txt");
festeBreite.createNewFile();
trennzeichen.createNewFile();
} catch (Exception e) {
System.out.println(e.getMessage());
System.out.println("error");
}
HashMap<String, Integer> dateien = new HashMap<>();
dateien.put("C:\\Git\\Hochschule\\Semester2\\12_Dateien_Fuer_Aufgabe1\\Nachnamen.txt", 20);
dateien.put("C:\\Git\\Hochschule\\Semester2\\12_Dateien_Fuer_Aufgabe1\\PLZOrt.txt", 20);
dateien.put("C:\\Git\\Hochschule\\Semester2\\12_Dateien_Fuer_Aufgabe1\\Strassen.txt", 20);
dateien.put("C:\\Git\\Hochschule\\Semester2\\12_Dateien_Fuer_Aufgabe1\\Vornamen.txt", 20);
try {
// eröffne leere Temp Datei
File tempDatei = File.createTempFile("temp_", ".txt");
for (String i : dateien.keySet()) {
// eröffne Zieldatei
BufferedWriter schreibeDatei = new BufferedWriter(new FileWriter("C:\\Git\\Hochschule\\Semester2\\12_Dateien_Fuer_Aufgabe1\\festeBreite.txt"));
String zeile;
String tempzeile;
// lese Quelle und Temp aus
BufferedReader leseQuelle = new LineNumberReader(new FileReader(i));
BufferedReader leseTemp = new BufferedReader(new FileReader(tempDatei));
while ((zeile=leseQuelle.readLine()) != null) {
int laenge = zeile.length();
if (laenge <= dateien.get(i)) {
// Leerzeichen hinzufügen
zeile = mitLeerzeichen(dateien.get(i)-laenge, zeile);
// Füge Quelle und Temp zusammen in Zieldatei
if ((tempzeile=leseTemp.readLine()) != null) {
schreibeDatei.write(tempzeile+zeile);
} else {
zeile = mitLeerzeichen(dateien.get(i), zeile);
schreibeDatei.write(zeile);
}
schreibeDatei.newLine();
}
}
// Füge den Rest der Tempdatei ein
while ((tempzeile=leseTemp.readLine()) != null) {
tempzeile = mitLeerzeichen(dateien.get(i), tempzeile);
schreibeDatei.write(tempzeile);
schreibeDatei.newLine();
}
schreibeDatei.close();
leseQuelle.close();
leseTemp.close();
// Lese Zieldatei und kopiere in Temp
BufferedReader leseDatei = new BufferedReader(new FileReader("C:\\Git\\Hochschule\\Semester2\\12_Dateien_Fuer_Aufgabe1\\festeBreite.txt"));
BufferedWriter schreibeTemp = new BufferedWriter(new FileWriter(tempDatei));
while ((zeile=leseDatei.readLine()) != null) {
schreibeTemp.write(zeile);
schreibeTemp.newLine();
}
schreibeTemp.close();
leseDatei.close();
}
} catch (Exception e) {
System.out.println(e.getMessage());
System.out.println("error");
}
}
public static String mitLeerzeichen(int laenge, String daten) {
for (int i = 0; i <= laenge; i++) {
daten = daten.concat(" ");
}
return daten;
}
}