Strumienie wejścia / wyjścia - czyści plik.

0

Cześć próbuję teraz zaimplementować licznik wyników do mojej gry Snake, ale mam problem z DataInputStream i DataOutputStream kod źródłowy klasy Score: http://pastebin.com/RWV4n5kk

Problem z tym, że jak wpiszę manualnie do pliku liczbę typu int to po starcie programu te liczby z pliku score.txt znikają i wywala komunikat:

java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:392)
at pl.snake.score.Score.onRead(Score.java:25)
at pl.snake.Snake.main(Snake.java:17)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

Snake.java:17 to wywołanie metody onLoad z klasy Score,
W czym jest problem? Dlaczego to wymazuje dane? Jeżeli w programie dodam fileOutput.writeInt(100) i później normalnie mogę wczytać metodą onRead(). Ale jak usunę to i tak wymazuje dane z pliku tekstowego. Proszę o pomoc.

0

Wpisujesz dane do pliku binarnego ręcznie? Tak nie można. Zobacz jak ten plik wygląda po dodaniu kilku liczb za pomocą DataOutputStream

0

Ale nawet jeśli dodam poprzez writeInt() to po starcie programu i tak czysci.

0

Na starcie programu otwieraj plik tylko do odczytu, odczytaj wyniki i zamknij plik. Do zapisu otwieraj przed zakończeniem programu.

0

Dziękuję bogdans już działa.

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