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