dastool
Erfahrenes Mitglied
Guten Abend liebe Java-Gemeinde,
ich mal wieder :-(
Wie im Titel schon gesagt, dass das sortieren nicht immer funktioniert.
Die Zeilen werden einzeln gelesen, in einem Array gespeichert, sortiert und sollten, nachdem die Datei neu angelegt wurde, reingeschrieben werden.
Insgesamt sind es in meinem Programm 4 Dateien in dennen das nach jeder Eingabebestätigung passieren soll.
Ab und an werden alle Arrays sortiert und doppelte Einträge verhindert.
Leider passiert es zu oft, dasses dann solche gibt, und diese bleiben bestehen, solalnge ich die nicht manuell lösche.
Hier ist der code für die dafür verantwortliche Klasse:
Klasse EasyArray
Ich hab schon versucht mit der "Step Into" funktion von NetBeans rauszufinden worans liegt... aber anscheinend ist meine JFrame zu gross... Inklusive so manch andere Klasse die ich angelegt hab
ich mal wieder :-(
Wie im Titel schon gesagt, dass das sortieren nicht immer funktioniert.
Die Zeilen werden einzeln gelesen, in einem Array gespeichert, sortiert und sollten, nachdem die Datei neu angelegt wurde, reingeschrieben werden.
Insgesamt sind es in meinem Programm 4 Dateien in dennen das nach jeder Eingabebestätigung passieren soll.
Ab und an werden alle Arrays sortiert und doppelte Einträge verhindert.
Leider passiert es zu oft, dasses dann solche gibt, und diese bleiben bestehen, solalnge ich die nicht manuell lösche.
Hier ist der code für die dafür verantwortliche Klasse:
PHP:
package easybuy;
import java.io.*;
import java.util.*;
public class EasyDateischreiben {
private ArrayList lines;
private Iterator it;
public void schreiben(String dateiname, String eingabe)
throws IOException {
String input, temp;
temp = sortieren(dateiname, eingabe);
loeschen(dateiname);
PrintWriter out;
out = new PrintWriter(new FileWriter(dateiname));
out.print(temp+"\n");
out.close();
}
private void loeschen(String dateiname)
throws IOException {
File f = new File(dateiname);
f.delete();
f.createNewFile();
}
private boolean vergleichen(String eingabe, String dateiname)
throws FileNotFoundException, IOException {
boolean b=false;
lines = EasyArray.arrayLesen(dateiname);
it = lines.iterator();
while (it.hasNext()) {
String line = (String) it.next();
b = line.equals(eingabe);
}
return b;
}
private String sortieren(String dateiname, String eingabe)
throws IOException, FileNotFoundException {
boolean b;
String temp = EasyDateilesen.lesen(dateiname);
if(b = vergleichen(eingabe, dateiname)) {
temp = temp.concat(eingabe);
}
String[] strarray = new String[] { temp };
Arrays.sort(strarray);
eingabe = strarray[0];
return eingabe;
}
}
Klasse EasyArray
PHP:
package easybuy;
import java.io.*;
import java.util.*;
public class EasyArray {
public EasyArray() {
}
public static ArrayList arrayLesen(String dateiname)
throws FileNotFoundException, IOException {
BufferedReader in = new BufferedReader(new FileReader(dateiname));
String line = "";
ArrayList lines = new ArrayList();
line = in.readLine();
while (line != null) {
lines.add(line);
line = in.readLine();
}
in.close();
return lines;
}
}
Zuletzt bearbeitet: