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 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; } }