Dopisanie do pliku Java

0

Siemka!
Znalazłem na tym forum poradę jednak dla FileWritera proszę o pomoc w moim przypadku.

public void utworzPlik(){
		File plik = new File("log.txt");
		if( plik.isFile() == true){
			System.out.println("plik istnieje");
		}
		else{
			try{
				boolean b = plik.createNewFile();
			}
			catch(IOException e){
				System.out.println("Nie można utworzyć pliku");
			}
		}
	}

i gdy wywołuję coś takiego

utworzPlik();
PrintWriter pw = new PrintWriter("log.txt");
pw.println(" tekst." );
pw.close();

zostaje zapisana tylko ostatnia linijka, w jaki sposób zmodyfikować kod aby wszystko było zapisywane do pliku?
Pozdrawiam

0

zostaje zapisana tylko ostatnia linijka

Co dokładnie masz na myśli ? Bo nie wiem o co Ci dokładnie chodzi.

0
utworzPlik();
PrintWriter pw = new PrintWriter("log.txt");
pw.println(" tekst." );
pw.close();

Gdy to jest np w pętli powinno być 10 wpisów a jest tylko 1

0

Cały ten kod dajesz w pętlę? Czyli za każdym razem robi Ci nowy plik nadpisując tym poprzednio utworzony. Tak wychodzi Ci tylko jedna linijka w logu.

0

Bo nadpisujesz istniejący plik, a nie dopisujesz do niego.

FileWriter file = new FileWriter("plik.txt", true);
BufferedWriter out = new BufferedWriter(file);
out.write("Dodaje do pliku");
out.close();

Wartość true w konstruktorze FileWriter daje możliwość dopisywania do pliku (append).

0

Jeśli chcesz dopisywać, to zrób tak:

utworzPlik();        
PrintWriter pw = new PrintWriter("log.txt");
        
for (int i = 0 ; i < 10 ; i++)
{pw.println("text");}
        
pw.close();
0

Wielkie dzięki za pomoc!
Wszystko działa pozdrawiam

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