Witam, mam pytanko odnośnie funkcji Scanner służącej do czytania pliku. Mianowicie czy ma ona może opcję zapamiętywania miejsca z którego odczytała daną wartość?? Chciałbym bowiem najpierw przeglądać plik w celu znalezienia danej frazy tj w moim programie(najpierw szukam nazwy użytkownika potem przechodzę do następnej lini i wyszukuję w lini odpowiednio "wygrane:", "przegrane:" i "rozegrane:" i chciałbym podmieniać te wartości np z 0 na 1 itd.Wiem że istnieje sposób w którym zapisuje sie cały tekst z pliku do bufora i podmienia każdą podaną wartość na inną a następnie zapisuje się to w innym pliku tekstowym albo po prostu nadpisuje sie cały plik tekstowy.Niestety taka opcja nie była by dobra dla mojego programu bo wtedy kazdemu użytkownikowi zmienię wynik, a tu nie o to chodzi.:(
tutaj kod który aktualnie mam do wyszukiwania danej frazy i zapisywania do scannera wartości:
int wygrane;
FileInputStream fis = null;
try {
fis = new FileInputStream("Profile.txt");
} catch (FileNotFoundException ex) {
Logger.getLogger(Sound.class.getName()).log(Level.SEVERE, null, ex);
}
Scanner skanuj = new Scanner(fis);//do skanowania nazwy
while (skanuj.hasNext()){
txtn = skanuj.next();
if (txtn.equals(gracz)){
System.out.println(txtn);
System.out.println(gracz);//dziala
skanuj.nextLine();
wyg=skanuj.findInLine("wygrane: ");
if(wyg.equals("wygrane: "))
{
wyg=skanuj.next();
System.out.println("Do tej pory miałeś: "+wyg+" wygranych rozgrywek");
wygrane=Integer.parseInt(wyg);
wygrane++;
wyg=String.valueOf(wygrane);
try (FileOutputStream s = new FileOutputStream("Profile.txt",true)) {
s.write(wyg.getBytes());
}
catch (IOException ex) {
Logger.getLogger(Gra.class.getName()).log(Level.SEVERE, null, ex);
System.out.print("Nie znaleziono pliku");
}
I urywek pliku tekstowego:
6 8 nazwa: krisu1 hasło: takietam
wygrane: 0 przegrane: 0 rozegrane: 0 założone: Pn sie 25 03:04:41 CEST 2014
5 5 nazwa: kaziu hasło: gaziu
wygrane: 0 przegrane: 0 rozegrane: 0 założone: Pn sie 25 03:05:00 CEST 2014
9 5 nazwa: takiesamo hasło: takie
wygrane: 0 przegrane: 0 rozegrane: 0 założone: Pn sie 25 03:05:16 CEST 2014
Dzięki wielkie za jakieś podpowiedzi. Chętnie wysłucham jak ktoś ma jakiś inny pomysł na podmianę tych wartości.Pewnie problem okaże się banalny ale już cały dzień nad tym myślę i nic mi do głowy racjonalnego nie przychodzi bo gdy próbuje zapisać cokolwiek to zawsze nadpisuje na samym końcu pliku a mnie interesuje tylko podmiana jednej wartości.