Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Zunächst die Imports:
- * - java.io.File: Die Klasse zum Umgang mit Dateien.
- * - java.io.FileNotFoundException: Klasse der Exception falls die zu öffnende Datei nicht lesbar ist. (Rechte-Fehler / Datei existiert nicht)
- * - java.io.PrintWriter: Die Klasse benötigen wir später um die Datei zu beschreiben.
- * - java.util.Scanner: Diese Klasse bietet möglich zum einlesen von Daten.
- */
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.PrintWriter;
- import java.util.Scanner;
- public class wrfiles {
- private static String[][] leaders = null;
- private static File mFile = null;
- public static void main(String[] args) {
- String mAbsPfad = "file.txt";
- mFile = new File(mAbsPfad);
- einlesen();
- Scanner sc = new Scanner(System.in);
- showMenu();
- while (sc.hasNextInt()) {
- switch (sc.nextInt()) {
- case 1: {
- ausgeben();
- }
- break;
- case 2: {
- System.out
- .println("FraktionsID (aus Liste bei Ausgabe - -1 zum abbrechen): ");
- String s = sc.next();
- int fId = Integer.parseInt(s);
- if (fId != -1 && fId < leaders.length) {
- System.out.println("Leadername: ");
- leaders[fId][1] = sc.next();
- System.out
- .println("Erfolgreich geändert! Speichern nicht vergessen!");
- }
- }
- break;
- case 3: {
- String[][] tmpLeaders = new String[leaders.length + 1][2];
- for (int i = 0; i < leaders.length; i++) {
- tmpLeaders[i][0] = leaders[i][0];
- tmpLeaders[i][1] = leaders[i][1];
- }
- System.out.println("Fraktionsname: ");
- tmpLeaders[leaders.length][0] = sc.next();
- System.out.println("Leadername: ");
- tmpLeaders[leaders.length][1] = sc.next();
- leaders = tmpLeaders;
- System.out
- .println("Fraktion hinzugefügt! Speichern nicht vergessen!");
- }
- break;
- case 4: {
- System.out.println("Zu löschende Fraktion (ID): ");
- int fId = Integer.parseInt(sc.next());
- char answer = 0;
- if(fId >= leaders.length) break;
- do{
- System.out.printf("Wollen Sie die Fraktion %s (Leader: %s) wirklich löschen? (j/n)%n", leaders[fId][0], leaders[fId][1]);
- answer = sc.next().charAt(0);
- System.out.println(answer);
- } while(answer != 'j' && answer != 'n');
- if(answer == 'j'){
- String[][] tmpLeaders = new String[leaders.length-1][2];
- for(int i = 0, j = 0; i < leaders.length; i++, j++){
- if(i == fId) j--;
- else{
- tmpLeaders[j][0] = leaders[i][0];
- tmpLeaders[j][1] = leaders[i][1];
- }
- }
- leaders = tmpLeaders;
- System.out.println("Fraktion gelöscht!");
- }
- }
- break;
- case 5: {
- speichern();
- }
- break;
- case 6: {
- einlesen();
- }
- break;
- }
- showMenu();
- }
- }
- private static void einlesen() {
- try {
- Scanner mIn = new Scanner(mFile);
- /*
- * Beispiel - Leaderverwaltung Datei Struktur: Fraktion, Leadername
- */
- // Anzahl der Zeilen zählen um die Größe des Arrays zu bestimmen.
- int count = 0;
- while (mIn.hasNextLine()) {
- count++;
- mIn.nextLine();
- }
- mIn.close();
- mIn = new Scanner(mFile);
- leaders = new String[count][2];
- for (int i = 0; i < leaders.length; i++) {
- String line = mIn.nextLine();
- int trennerpos = line.indexOf(",");
- leaders[i][0] = line.substring(0, trennerpos);
- leaders[i][1] = line.substring(trennerpos + 2, line.length());
- }
- } catch (FileNotFoundException e) {
- System.out.println("Datei " + mFile.getName() + " nicht gefunden!");
- }
- }
- private static void speichern() {
- try {
- PrintWriter mOut = new PrintWriter(mFile);
- for (int i = 0; i < leaders.length; i++) {
- if (i != leaders.length - 1)
- mOut.printf("%s, %s%n", leaders[i][0], leaders[i][1]);
- else
- // Damit keine weitere Leerzeile am Ende der Datei folgt!
- mOut.printf("%s, %s", leaders[i][0], leaders[i][1]);
- }
- mOut.close();
- } catch (FileNotFoundException e) {
- System.out.println("Datei " + mFile.getName() + " nicht gefunden!");
- }
- }
- private static void ausgeben() {
- if (leaders != null) {
- for (int i = 0; i < leaders.length; i++)
- System.out.printf("%d\t-\t%-20.20s-\t%s%n", i, leaders[i][0],
- leaders[i][1]);
- }
- }
- private static void showMenu() {
- System.out.println("/********************************");
- System.out.println("* Erklärung:");
- System.out.println("* 1 - Ausgeben");
- System.out.println("* 2 - Leader ändern");
- System.out.println("* 3 - Fraktion hinzufügen");
- System.out.println("* 4 - Fraktion löschen");
- System.out.println("* 5 - Speichern");
- System.out.println("* 6 - Neu einlesen");
- System.out.println("********************************/");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement