file.lenght spinnt ab 50mb

jakobsen

Mitglied
Hallo Forum,

ich möchte gerne ab einer bestimmten Größe ein File speichern, da ich sonst nicht öffnen kann. Die versuche ich im Moment mit file.Lenght. Diese Funktion spinnt aber wenn die lenght größer als etwa 50mb ist. Dies tritt auch bei mehreren Files auf, also auch bei 10 Files a 5mb.
Hier auch mein Code: (Ich arbeite mit ArrayLists)
Java:
if(fileListe.get(counter).length() >= 52428800){
	try {
		System.out.println("true");
		fileWriterListe.get(counter).flush();
		fileWriterListe.get(counter).close();
		counter++;
		fileListe.add(counter, new File("D:\\TEST" + counter + ".txt"));
		fileWriterListe.add(counter, new FileWriter(fileListe.get(counter) ,true));
	} catch (IOException e) {
		e.printStackTrace();
	}
}
Ich kommen leider nicht weiter also helft mir bitte

Grüße Jakob
 
Zuletzt bearbeitet:
Vielleicht habe ich mich missverständlich geäußert. Ich meine mit der Beschreibung, dass immer wenn die kompletten 50mb in der filelenght erreicht sind die if schleife nicht aufgerufen wird
 
Könnte es sein dass die Zahl einfach zu groß für einen int wird?

bin mir aber nicht sicher

gib dir mal Integer.maxValue() aus, vielleicht ist das in der Größenordnung

Gruß Helmut
 
Zuletzt bearbeitet:
Vielleicht habe ich mich missverständlich geäußert. Ich meine mit der Beschreibung, dass immer wenn die kompletten 50mb in der filelenght erreicht sind die if schleife nicht aufgerufen wird
Das soll wohl heissen:"Wenn die 50 MB Grenze erreicht ist, geht der Code trotzdem nicht in den if-Block" (übrigens: if-schleife).
Um wieviel größer wird die Datei denn? Offenbar schreibst du gleichzeitig in die Datei, deren Größe du bestimmen möchtest. Kann es sein, daß die Bestimmung der Größe etwas hinterherhinkt?
Warum zählst du nicht einfach die bytes, die du rausgeschrieben hast?
Und wenn der Code wieder Erwarten nicht in den if-Block geht, wäre es natürlich wichtig zu wissen, was ausserhalb passiert!
 

Zurück
Oben