czytanie z pliku txt dodawanie do zmiennej

0

Witam chce zrobić statystyki w javie które zapisują się w pliku statystyki.txt
problem polega na tym że nie wiem jak dodać np 20 punktów do startowej liczby 0
Proszę o pomoc
Pozdrawiam

0

A co już zrobiłeś?

0

zrobiłem odczyt oraz zapis pliku tekstowego problem w tym że nie wiem jak dodać np 20 puntrów do statystyk
na logike powinienem odczytać wartość 2 lini w której są statystyki i dodać 20 dobrze myślę ?
jak takie coś zrobić:> ?

0

Dobrze rozumiem, że na początku chcesz mieć w swoim pliku tekstowym np wartość początkową - tutaj 0. A następnie gdy chcesz dodawać statystykę to nowa wartość np 20 ma się pojawić w nowej linijce? Daj kod bo nie kumam o co Ci chodzi.

EDIT: Czy chcesz po prostu pierwszą wartość czyli zero zamienić na 20?

0

Dobrze rozumiem, że na początku chcesz mieć w swoim pliku tekstowym np wartość początkową - tutaj 0. A następnie gdy chcesz dodawać statystykę to nowa wartość np 20 ma się pojawić w nowej linijce? Daj kod bo nie kumam o co Ci chodzi.

zapisywanie w pliku :

            PrintWriter class1ucz1 = new PrintWriter("data/class1/kl1ucz1.txt");
            class1ucz1.println("Adam");
            class1ucz1.println(2);
            class1ucz1.println(0);
            class1ucz1.println(0);
            class1ucz1.close();

odczytu nie podaje nie widze sensu :>
dodawanie punktów

        public void dodaj(){
            FileInputStream fin = null; 
            try{
                fin = new FileInputStream("data/class3/kl3ucz3.txt");
            }catch(FileNotFoundException e){
                System.out.print("File not found" + e);
                System.exit(-1); 
            }
            BufferedReader reader = new BufferedReader(new InputStreamReader(fin));
            try{
                                //tutaj wlasnie mam problem nie wiem jak odczytac wartosc do zmiennej 
                int a = reader.readLine(2);
            }catch(IOException e){
                System.out.print("Error input/output");
            }
        }

chce dodać do tej wartości w tym przypadku 0 20 a potem podmienić

0

Wstawiaj kod w znaczniki <code class="java"></code>.
Nie rozumiem o co Ci chodzi, piszesz

odczytu nie podaje nie widze sensu :>
dodawanie punktów
a potem umieszczasz kod odczytujący.

Scanner scanner = new Scanner(new File(nazwaPliku));
String firstName = scanner.nextLine();
int points = scanner.nextInt():
scanner.close();
0

Aby zwiększyć wartość zapisaną w pliku to masz kilka sposobów, najpopularniejszy z nich:

  • Odczytać plik przynajmniej od miejsca zapisu (ale łatwiej cały)
  • Zwiększyć wartość w pamięci.
  • Ponownie zapisać już z nową wartością.

Owszem są wyjątki, np jeżeli masz zagwarantowane że nowa wartość ma taką samą długość co stara, wtedy wystarczy wiedzieć (lub znaleźć) gdzie w pliku zapisana ta wartość i ją podmienić.
Można to zagwarantowane sobie ułatwić zapisując z poprzedzającymi zerami, np 0 = 000000000 zaś 123 = 000000123 wtedy prawie do miliona masz tą samą długość.

Trzeci sposób polega na tym że wczytujemy wiersz po wierszu czy daną po danej i natychmiast zapisujemy do innego pliku.
Jak docieramy do potrzebnej zmiennej zwiększamy ja i w tej postaci piszemy do tego innego pliku.
Po znalezionej zmiennej resztę przepisujemy jak jest do tegoż innego pliku.
Po całej operacji usuwamy oryginalny plik i zmieniamy nazwę "innego pliku".

0
bogdans napisał(a):

Wstawiaj kod w znaczniki <code class="java"></code>.
Nie rozumiem o co Ci chodzi, piszesz

odczytu nie podaje nie widze sensu :>
dodawanie punktów
a potem umieszczasz kod odczytujący.

Scanner scanner = new Scanner(new File(nazwaPliku));
String firstName = scanner.nextLine();
int points = scanner.nextInt():
scanner.close();

Sorki że tak chaotycznie napisałem
chce zrobićstatystyki dla usera w których będą poprawne odpowiedzi złe odpowiedzi i punkty chciałbym miećto w funkcji
public void dodaj() aby ta funkcja dodawała punkty i poprawne odpowiedzi oraz
public void zleodp(){
zeby funkcja dodawala zle odpowiedzi
oraz zapisywała do pliku txt

0

Zlicz wszystko w pamięci o czym zapisz cały plik.

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