Zapis do pliku - pętla nie zapisuje wszystkiego

0

cały program wygląda tak:

public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		
		FileWriter fw = new FileWriter("file.txt");		
		for (int i = 0; i<1000; i++){
			fw.write(i + " aaa \n");
			System.out.println(i);
		}

	}

w konsoli system.out daje mi ciąg od 0 do 999, natomiast w pliku końcówka wygląda tak

(...)
828 aaa 
829 aaa 
83

skąd takie ograniczenie?

Pytanie 2 - jeśli wyrzucę " aaa " ze stringa i zostawię tylko "\n" to plik jest pusty, tak samo dzieje się do czasu aż przed \n nie będzie w stringu co najmniej 5 znaków, nawet pustych spacji, czyli fw.write(i + " \n");

skąd ograniczenie nr 2?

0

Zamknij plik

fw.close();
0

To nie jest ograniczenie. Po prostu część danych jest jeszcze w buforze a nie w pliku. Albo w pętli wywołuj także flush() albo na końcu wywołaj close(), jak doradza bogdans.

1 użytkowników online, w tym zalogowanych: 0, gości: 1