Hallo,
ich möchte mir für Tests eine txt-Datei erstellen mit 5000 Zeilen, die jeweils eine zufällige Zahlen-Buchstaben-Kombination enthalten.
Also habe ich erstmal ein String-Array erstellt, in denen ich die 5000 Strings hineinschreibe. Anschließend versuche ich mit
Java:
voidwrite()throwsException{for(int x =0; x < data.length; x++){
write.write(data[x]+"\n");}}
die Strings in die Datei zu schreiben. Da passiert dann aber auch der Fehler. Es werden immer nur 2731 Strings & Zeilen geschrieben und der letzte String hat nur 4 chars (alle anderen haben 5).
ne da kommt keine Meldung, das Programm läuft durch. hier mal die komplette Klasse:
Java:
classCreateDatabase{File file =newFile("dbase.txt");BufferedWriter write =newBufferedWriter(newFileWriter(file));String[] data =newString[5000];char[] chars =newchar[36];CreateDatabase()throwsException{// hier werden nur die chars für die Strings erstellt -- unwichtigchar y =48;char z =65;for(int x =0; x < chars.length; x++){if(x <=9){
chars[x]= y;
y++;}if(x >=10){
chars[x]= z;
z++;}}// hier werden die Strings erstellt mit zufälligen charsfor(int x =0; x < data.length; x++){
data[x]=newString();for(int n =0; n <5; n ++){
data[x]+= chars[(int)(Math.random()*36)];}}// methoden-aufrufwrite();}// mit der Methode sollen die Strings in die Datei geschrieben werdenvoidwrite()throwsException{for(int x =0; x < data.length; x++){
write.write(data[x]+"\n");}}}
Du schüttest es immer weiter Daten rein, bis sie voll ist. Da wir eine "intelligente" Toilette haben, spült sie dann automatisch, so dass der Inhalt ans Ziel kommt.
Sollte die Toilette allerdings noch nicht ganz gefüllt sein wenn das Programm an Ende ankommt, so bleibt der Rest einfach in der Toilette stehen, wenn man nicht manuell spült.
Wobei ich mir gerade nicht 100% sicher bin, ist ob nicht ein close des BufferedWriter reicht, da dadurch u.U. implizit ein flush aufgerufen wird. Kannst Du ja selbst mal testen, bin ich mir wie gesagt grad nicht sicher.
Wobei ich mir gerade nicht 100% sicher bin, ist ob nicht ein close des BufferedWriter reicht, da dadurch u.U. implizit ein flush aufgerufen wird. Kannst Du ja selbst mal testen, bin ich mir wie gesagt grad nicht sicher.