Zapis do pliku obiektem PrintWriter

0

Witam serdecznie, przerabiam sobie książkę "Java - techniki zaawansowane", i napotkałem na drobny problem, otóż - próbuje wykonać ten kawałek kodu :

public static void main (String[] args)throws IOException{

        PrintWriter out = new PrintWriter("test.txt");
        String s = "blablblblb";
        out.print(s);
    }

i... nie działa, dodam tylko, że wszystkie dane w pliku znikają podczas wykonywania operacji, dodatkowo warto dodać, że odczytywanie z pliku działa jak należy.

Proszę o oświecenie, gdzie leży błąd.

Pozdrawiam, i dzięki.

0

dodaj na koniec

out.close();
0

Z metodą print po dodaniu close() działa jak należy. Dzięki.

Jednakże przy użyciu println() wciąż jest problem, i w jaki sposób nadpisywać plik, tzn. nie usuwając jego wcześniejszej zawartości ?

0

Otworzyć w trybie "append".

1

np. tak

        File file = new File("output.txt");
        FileWriter writer = new FileWriter(file, true);
        PrintWriter output = new PrintWriter(writer);
        output.print("aaa");
        output.close();
0

Oki, dzięki wszystko teraz jasne. Pozdrawiam

P.S nie mogę plusować Waszych komentarzy, ale okazały się bardzo pomocne.

0

Albo, można np: skorzystać z Javy 7, bo jest fajna

Path logFile = Paths.get("/tmp/app.log");
try (BufferedWriter writer =
  Files.newBufferedWrite(logFile, StandardCharsets.UTF_8, StandardOpenOption.WRITE)) {
  writer.write("Hello World!");

}

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