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, botów: 0