Zapis do pliku obiektem PrintWriter

Odpowiedz Nowy wątek
2015-02-21 14:09
Krwawy Jeleń
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.

Pozostało 580 znaków

2015-02-21 14:14
0

dodaj na koniec

out.close();

Pozostało 580 znaków

2015-02-21 14:20
Krwawy Jeleń
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 ?

Pozostało 580 znaków

2015-02-21 14:26
0

Otworzyć w trybie "append".


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2015-02-21 14:30
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();

Pozostało 580 znaków

2015-02-21 14:32
Krwawy Jeleń
0

Oki, dzięki wszystko teraz jasne. Pozdrawiam

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

Pozostało 580 znaków

2015-02-21 14:45
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!");

}

"Perhaps surprisingly, concurrent programming isn’t so much about threads or
locks, any more than civil engineering is about rivets and I-beams."
edytowany 3x, ostatnio: niezdecydowany, 2015-02-21 14:47

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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