S
Sch1llman
Gast
hi 
ich habe vor, ein kleines programm mit hilfe einer arraylist zu schreiben. es soll folgendes tun: eine datei einlesen, bei der jede zeile eigenschaften eines punktes enthält und die eigenschaften dann in anderer reihenfolge in einer neuen datei ausgeben.
dazu gleich die erste frage: ist die dateiendung egal? sonst müsste ich sie wohl vorher noch in eine .txt umbenennen lassen.
aber von vorne:
ich habe schon die klasse "Punkt" geschrieben, die die eigenschaften der punkte enthält. "Code" ist dabe int, weil sich je nach wert von "Code" nachher etwas verändert. weil das programm mit dem rest nicht viel machen muss, lasse ich sonst alles String.
das sieht bei mir jetzt so aus:
soweit so gut.
nun die ArrayList "Punktliste". mit dem filereader soll nun zeile für zeile die datei ausgelesen werden (der einfachheit halber habe ich aktuell noch den namen der datei direkt im programm stehen), getrennt wird bei leerzeichen.
um das ganze zu testen, habe ich dann getPunktliste() geschrieben, da müsste ja theoretisch etwas ausgegeben werden, was aber leider nicht funktioniert
hier meine aktuelle arraylist-klasse:
zum testen habe ich einfach folgendes geschrieben:
vielen dank, wenn sich jemand die zeit nimmt, mir zu helfen
wenn das erstmal funktioniert, habe ich aber noch eine menge vor mir^^
datei erstellen und schreiben, außerdem noch eine bequemere auswahl, die ursprungs-datei zu wählen...[/quote]
ich habe vor, ein kleines programm mit hilfe einer arraylist zu schreiben. es soll folgendes tun: eine datei einlesen, bei der jede zeile eigenschaften eines punktes enthält und die eigenschaften dann in anderer reihenfolge in einer neuen datei ausgeben.
dazu gleich die erste frage: ist die dateiendung egal? sonst müsste ich sie wohl vorher noch in eine .txt umbenennen lassen.
aber von vorne:
ich habe schon die klasse "Punkt" geschrieben, die die eigenschaften der punkte enthält. "Code" ist dabe int, weil sich je nach wert von "Code" nachher etwas verändert. weil das programm mit dem rest nicht viel machen muss, lasse ich sonst alles String.
das sieht bei mir jetzt so aus:
Code:
import java.util.*;
public class Punkt {
private String PunktNr;
private int Code;
private String Rechts;
private String Links;
private String Hoch;
public Punkt(){
this.PunktNr = "";
this.Code = 0;
this.Rechts = "";
this.Links = "";
this.Hoch = "";
}
public Punkt(String punktNr, int code, String rechts, String links, String hoch){
this.PunktNr = punktNr;
this.Code = code;
this.Rechts = rechts;
this.Links = links;
this.Hoch = hoch;
}
public void setPunktNr(String punktNr){
this.PunktNr = punktNr;
}
public String getPunktNr(){
return this.PunktNr;
}
public int getCode(){
return this.Code;
}
public String getRechts(){
return this.Rechts;
}
public String getLinks(){
return this.Links;
}
public String getHoch(){
return this.Hoch;
}
}
soweit so gut.
nun die ArrayList "Punktliste". mit dem filereader soll nun zeile für zeile die datei ausgelesen werden (der einfachheit halber habe ich aktuell noch den namen der datei direkt im programm stehen), getrennt wird bei leerzeichen.
um das ganze zu testen, habe ich dann getPunktliste() geschrieben, da müsste ja theoretisch etwas ausgegeben werden, was aber leider nicht funktioniert
hier meine aktuelle arraylist-klasse:
Code:
import java.io.*;
import java.util.*;
public class prog {
// Variablen
private ArrayList<Punkt> Punktliste;
// Standardkonstruktor
public prog() {
Punktliste = new ArrayList<Punkt>();
this.initialisierePunktliste();
}
// Ausgeben mit System.out.println()
public void getPunktliste() {
for (int i=0; i<Punktliste.size(); i++) {
System.out.println(Punktliste.get(i).getCode());
}
}
//Einlesen der Punkte:
private void initialisierePunktliste() {
try {
String str;
FileReader fr = new FileReader("Eiche100608alt.txt");
BufferedReader br = new BufferedReader(fr);
StringTokenizer zeile;
Punkt pkt;
int i = 0;
while ( (str=br.readLine()) != null) {
zeile = new StringTokenizer(str);
pkt = new Punkt(zeile.nextToken().trim(),
Integer.parseInt(zeile.nextToken().trim()),
zeile.nextToken().trim(),
zeile.nextToken().trim(),
zeile.nextToken().trim());
i++;
}
fr.close();
} catch(Exception e) {
System.out.println("Fehler beim Einlesen der Datei.");
}
}
}
zum testen habe ich einfach folgendes geschrieben:
Code:
public class Test {
public static void main(String[] args) {
prog Pk = new prog();
Pk.getPunktliste();
}
}
vielen dank, wenn sich jemand die zeit nimmt, mir zu helfen
wenn das erstmal funktioniert, habe ich aber noch eine menge vor mir^^
datei erstellen und schreiben, außerdem noch eine bequemere auswahl, die ursprungs-datei zu wählen...[/quote]