# Ordner aus txt datei erstellen



## Karl Hermann (11. Dez 2010)

Hi, ich ha:6;6;5be zu hause eine .txt Datei mit einer Klassenliste, welche vorlgendermaßen angelegt ist.

Nr;Name;Vorname;Geburtstag;Note1;Note2;Mündliche Note

als es sieht z.b. so aus:
1;Mustermann;Heinz;01.01.1993;4;3;2;
2;Musterfrau;Christina;02.02.1993;6;6;6

Nun soll für jeder Person dieser Text Datei ein Ordner (ohne Inhalt) erstellt werden, welche folgendermaßen aussehen:

Mustermann_Heinz
Musterfrau_Christina

Wie mache ich so etwas?


----------



## eRaaaa (11. Dez 2010)

Karl Hermann hat gesagt.:


> Wie mache ich so etwas?



Wobei genau hast du denn Probleme? Beim Einlesen? (da könnte 14.7 Datenströme filtern und verketten helfen) Beim Daten herausziehen? (da könnte String (Java Platform SE 6) helfen)
Beim Ordner anlegen(siehe mkdir()
Und jetzt die Fragen aller Fragen: Was hast du denn bisher schon ? ....


----------



## FerFemNemBem (11. Dez 2010)

Halloechen,

Du liest die Textdatei Zeilenweise ein und splittest jede Zeile Semikolonbasiert. Nun verknuepfst Du Nach- und Vorname mit einem Unterstrich und erstellst ein entsprechendes Verzeichnis (dabei achtest Du am besten noch darauf, dass es das nicht schon gibt... sonst muessen sich am Ende 5 "Klaus Mueller"s noch ein Verzeichnis teilen - das wollen die sicher nicht ).

Gruss, FFNB.


----------



## Karl Hermann (11. Dez 2010)

Hmm ehrlich gesagt habe ich fast gar nichts

Das Einlesen einer txt datei habe ich hinbekommen, aber wie weiter?
Ich kapiere gerade nichts!

Kann mir vlt. jemand ein Beispiel code geben?


----------



## eRaaaa (11. Dez 2010)

Eine Möglichkeit von vielen:

```
String row = "1;Mustermann;Heinz;01.01.1993;4;3;2;";
		String[] split = row.split(";"); //Mustermann = Index 1, Heinz = Index 2
		new File(split[1]+"_"+split[2]).mkdir(); // erstelle Ordner Mustermann_Heinz
```
(evtl. den Pfad bei new File() noch angeben....)


----------



## Karl Hermann (11. Dez 2010)

Ersteinmal danke, das funktioniert soweit:toll:

Allerdings habe ich noch ein Problem.
Laut deinem Code erstellt er nur den Ordner von Heinz Mustermann.
Ich habe hier aber eine Datei mit 20 Personen und am besten sollte für die ganzen Personen ein Ordner erstellt werden!


----------



## XHelp (11. Dez 2010)

Dann musst du es auch in die Schleife packen, mit welcher du die Datei einließt. Laut deiner Aussage hast du es ja schon geschafft. Ansonsten: zeit mal dein Code


----------



## Karl Hermann (11. Dez 2010)

XHelp hat gesagt.:


> Dann musst du es auch in die Schleife packen, mit welcher du die Datei einließt. Laut deiner Aussage hast du es ja schon geschafft. Ansonsten: zeit mal dein Code



Mein Code sieht so aus:

```
FileReader leser = new FileReader(f);
      BufferedReader in = new BufferedReader(leser);

      String line = "";
      System.out.println();


        
        String row = "1;Assmann;Jens;06.08.1988;12;11;3;8";
        String[] split = row.split(";");
        while((line = in.readLine())!=null){
          new File(split[1]+"_"+split[2]).mkdir();
        }
```

Aber da wird auch nur der Ordner für Mustermann_Heinz erstellt!


----------



## XHelp (11. Dez 2010)

Versuch doch den Code zu verstehen und nicht einfach irgendwie zusammenzukopieren.
Im Code von eRaaaa hast du deine Zeile in 
	
	
	
	





```
row
```
 und machst damit irgendwas. Wenn du die Datei einließt steht jede Zeile in 
	
	
	
	





```
line
```
......


----------



## Karl Hermann (11. Dez 2010)

Oh mann... war ich dumm!
Hab mir den Code nochmal genauer angeschaut und es jetzt hinbekommen!


```
String row = in.readLine();

        while((row = in.readLine())!=null){

          String[] split = row.split(";");
          new File(split[1]+"_"+split[2]).mkdir();
```

Danke euch

Hab aber noch eine Frage:
Wie kann ich ändern, wohin die Ordner gespeichert werden?
Also dass z.B. erst noch ein Ordner mit dem name der Klasse erstellt wird (z.B. 11a) und dort drinne die ganzen Schüler-Ordner!


----------



## XHelp (11. Dez 2010)

Naja, dann musst du das im File-Objekt angeben:

```
new File("DeinGewuenschterPfad/"+nameDesOrdners).mkdirs();
```
Wobei du da auch aufpassen musst ob das Eltern-Verzeichnis existiert oder nicht. Oder eben wie hier mkdir*s* verwenden.


----------



## Karl Hermann (15. Dez 2010)

Danke für eure Hilfe nocheinmal:toll:


----------



## maki (15. Dez 2010)

*verschoben*


----------

