Hey Leute ich hab ein Problem mit meinem code, vielleicht kann mir ja jemand helfen,
ich hab eine txt Datei, die ich an die Methode übergebe, in der sind 5 Zeichenketten drin
513234
503323
502231
612323
615343
Die sollen dann in 3 unterschiedliche Dateien geschrieben werden, entsprechend ihren Zahlen eben.
Es wird aber nur 513234 in eine neue txt Datei geschrieben sonst keine. Wenn ich das array "data" in der Schleife ausgebe dann wird auch nur die erste Zeichenkette ausgegeben, sonst sind sie entweder unvollständig oder nur einzelne Zahlen. Warum ist das so ? und warum funktioniert das nicht ?
ich hab eine txt Datei, die ich an die Methode übergebe, in der sind 5 Zeichenketten drin
513234
503323
502231
612323
615343
Die sollen dann in 3 unterschiedliche Dateien geschrieben werden, entsprechend ihren Zahlen eben.
Es wird aber nur 513234 in eine neue txt Datei geschrieben sonst keine. Wenn ich das array "data" in der Schleife ausgebe dann wird auch nur die erste Zeichenkette ausgegeben, sonst sind sie entweder unvollständig oder nur einzelne Zahlen. Warum ist das so ? und warum funktioniert das nicht ?
Java:
public class split {
public void ssplitStudiengaenge(String dateiname) {
try(InputStream fis = new FileInputStream(dateiname);
Reader isr = new InputStreamReader (fis);
OutputStream fos1 = new FileOutputStream("/Users/jakobg/Desktop/prog2/lektion18.u1/WInfNr.txt");
Writer osw1 = new OutputStreamWriter(fos1);
OutputStream fos2 = new FileOutputStream("/Users/jakobg/Desktop/prog2/lektion18.u1/InfNr.txt");
Writer osw2 = new OutputStreamWriter(fos2);
OutputStream fos3 = new FileOutputStream("/Users/jakobg/Desktop/prog2/lektion18.u1/ECNr.txt");
Writer osw3 = new OutputStreamWriter(fos3);)
{
char[] data = new char[6];
int n;
do {
n = isr.read(data);
if(n!=-1) {
if(data[0]=='5' && data[1]=='0') {
osw1.write(data,0,data.length);
osw1.flush();
}
if(data[0]=='5' && data[1]=='1') {
osw2.write(data,0,data.length);
osw2.flush();
}
if(data[0]=='6' && data[1]=='1') {
osw3.write(data,0,data.length);
osw3.flush();
}
}
}while(n!=-1);
}
catch(IOException e) {
e.printStackTrace();
}
}
}