96 lines
3.6 KiB
Java
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;
|
|
}
|
|
|
|
|
|
}
|