Array in Datei schreiben

  • Themenstarter Themenstarter Nicole
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
N

Nicole

Gast
Hallo!

Ich will Elemente eines String - Arrays in verschiedene Dateien schreiben:

Wenn ich z.B. 2 Gruppen habe, Gruppe 1 enthält 3 Strings und Gruppe 2 2 Strings, dann will ich die ersten drei Elemente des Arrays in eine Datei mit Namen Gruppe1 schreiben und die nächsten zwei Elemente des Arrays in eine Datei mit Namen Gruppe2.

Ich habe einen 2 - dimensionalen Array, der die Anzahl der Strings pro Gruppe enthält, also String[#Gruppen][#Strings in dieser Gruppe].

Ich habe keine Idee mehr, weil es mit zwei for-Schleifen irgendwie nicht geht!

Danke,
Nicole
 
ehrlich gesagt versteh ich deinen array nicht... schaut er so aus:
Code:
FIELD 1    FIELD 2
Gruppe1      Das ist ein String
Gruppe1      Das ist auch ein String
Gruppe1      Ein String
Gruppe2      Ein anderere String
Gruppe2      Und noch was
??

[EDIT]: Ich plädiere mal wieder für eine eigene Klasse anstelle eines zweidimensionalen Arrays !!
 
Moin, musste auch erstmal nachdenken. Ich glaube, es ist so gemeint ???:L :

String[] feld = new String[LAENGE];
int[] size = new int[GRUPPENZAHL];

Also reichen eindimensionale Arrays aus.
 
Was hast du denn versucht? (Code?)

Ich stelle mir zwei for-Schlaufen so vor (unten), wieso geht das nicht?
Code:
String[][] array2d = ...
for( int i = 0; i < array2d.length; i++){
  String[] array = arrays2d[i];

  FileOutputStream out = new FileOutputStream( "Gruppe" + (i + 1) );

  for( int j = 0, n = array.length; j<n; j++ ){
      // im Sinne von  out.print(  array[j]   );
  }

  out.close();
}

Gruss Beni
 
Er sieht genau so aus!

Er muss diese Form haben, weil ich ihn so in einer anderen Methode brauche.

Wie schreibe ich jetzt alle Strings der Gruppe 1 auch in eine Datei, die Gruppe1 heißt?

Grüße,
Nicole
 
um die Dateien zu füllen:



Code:
String[] feld = new String[LAENGE];
int[] size = new int[GRUPPENZAHL];

int index = 0;
for (int i=0; i<GRUPPENZAHL; i++){
 try {
                FileWriter fw = new FileWriter("datei"+i);
                for (int j=0;j<size[i]; j++){                
                    fw.write(feld[index]);
                    index++;
                }
                fw.close();
 } catch (Exception e) {
                System.out.println("An error occured!");
                e.printStackTrace();
            }
}

Ich würde vielleicht eher mit ner LinkedList arbeiten :?
 
Anonymous hat gesagt.:
Ich würde vielleicht eher mit ner LinkedList arbeiten :?
Oder (um ein bisschen performanter zu arbeiten) - mit einer ArrayList.... aber das sollte für dieses Problem nicht relevant sein !
 
Ich sollte mich mal langsam hier im Forum anmelden. Ist doch doof, wenn ich als "anonymous" zitiert werde :wink:

Gruß, Marcel
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben