Skip to content
Snippets Groups Projects
Commit 6e59cf89 authored by Rasmus Vainio's avatar Rasmus Vainio
Browse files

pistelista

parent 6880159d
No related branches found
No related tags found
No related merge requests found
nimi: Rasmus
pelit: 2
voitot: 1
nimi: Tommi
pelit: 5
voitot: 3
\ No newline at end of file
package ui;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.util.List;
import java.util.Scanner;
public class Pistelista {
private FileInputStream stream;
private Scanner sc;
public Pistelista() {
try {
this.stream = new FileInputStream("pistelista.txt");
this.sc = new Scanner(stream);
} catch (IOException e) { e.printStackTrace(); }
}
public void haeTiedot(String nimi) {
int riviNum = etsiTeksti(nimi);
if (!(riviNum == -1)) {
for (int i = 0; i < 2; i++) {
System.out.println(sc.nextLine());
}
} else {
System.out.println("Kyseist pelaajaa ei lytynyt listasta");
}
sc.close();
}
public void tulostaLista() {
while(sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
}
public void uusiPelaaja(String nimi) {
try {
File file = new File("pistelista.txt");
FileWriter fr = new FileWriter(file, true);
BufferedWriter br = new BufferedWriter(fr);
br.write("\n" + "nimi: " + nimi + "\n");
br.write("pelit: 0" + "\n");
br.write("voitot: 0" + "\n");
//br.write("-----");
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void lisaaVoitto(String nimi) {
try {
while (new Pistelista().etsiTeksti(nimi) == -1) {
uusiPelaaja(nimi);
}
int rivi = etsiTeksti(nimi);
int uudetPelit = Integer.parseInt(sc.nextLine().replaceAll("[\\D]", "")) + 1;
int uudetVoitot = Integer.parseInt(sc.nextLine().replaceAll("[\\D]", "")) + 1;
File file = new File("pistelista.txt");
List<String> rivit = Files.readAllLines(file.toPath());
rivit.set(rivi + 1, "pelit: " + uudetPelit);
rivit.set(rivi + 2, "voitot: " + uudetVoitot);
Files.write(file.toPath(), rivit);
} catch (IOException e) {
e.printStackTrace();
}
sc.close();
}
public void lisaaHavio(String nimi) {
try {
while (new Pistelista().etsiTeksti(nimi) == -1) {
uusiPelaaja(nimi);
}
int rivi = etsiTeksti(nimi);
int uudetPelit = Integer.parseInt(sc.nextLine().replaceAll("[\\D]", "")) + 1;
File file = new File("pistelista.txt");
List<String> rivit = Files.readAllLines(file.toPath());
rivit.set(rivi + 1, "pelit: " + uudetPelit);
Files.write(file.toPath(), rivit);
} catch (IOException e) {
e.printStackTrace();
}
sc.close();
}
//etsii ja palauttaa tekstitiedostosta rivin, jolta sytteen saatu teksti lytyy
//palauttaa luvun -1, jos teksti ei lytynyt
private int etsiTeksti(String teksti) {
int riviNum = 0;
while(sc.hasNextLine()) {
if (sc.nextLine().equals("nimi: " + teksti)) {
System.out.println("Teksti lytyi rivilt: " + (riviNum + 1));
return riviNum;
}
riviNum += 1;
}
return -1;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment