Java nadpisywanie tekstu w pliku

0

Witam tak jak w temacie nie wiem jak napisać dany tekst aby się zamienił a nie dodawał. Mój kod:

public void changePass() throws IOException {
        File file = new File(fileName);
        Scanner scann = new Scanner(file);
        Scanner scan = new Scanner(System.in);

        System.out.println("Podaj stare hasło");
        String oldPass = scan.nextLine();
        if (oldPass.equals(pass)) {
            System.out.println("Podaj nowe hasło");
            String newPass = scan.nextLine();
            try (
                FileWriter fileWriter = new FileWriter(fileName, true);
                BufferedWriter writer = new BufferedWriter(fileWriter)
            ){
                writer.write("  hasło: " + newPass);
                System.out.println("Zapisano");

            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

w 2 linijce kodu zamiast zastąpić ją całą to się dodaje tekst np linijka 2 " hasło: xxx" po tym evencie wygląda " hasło: xxx hasło: yyy" a chce aby wyglądało " hasło: yyy"

1

Nie prosbiej byloby to zrobic w tym przypadku PrintWriterem?

PrintWriter output = new PrintWriter("plik.txt");
output.println("Ala ma kota");
output.close();

PS przeczytaj konstruktor FileWritera w dokumentacji;)
FileWriter(File file, boolean append)
Constructs a FileWriter object given a File object.

0
stivens napisał(a):

Nie prosbiej byloby to zrobic w tym przypadku PrintWriterem?

PrintWriter output = new PrintWriter("plik.txt");
output.println("Ala ma kota");
output.close();

PS przeczytaj konstruktor FileWritera w dokumentacji;)
FileWriter(File file, boolean append)
Constructs a FileWriter object given a File object.

Niestety ale twoja odpowiedź nie jest poprawna ;/ dana formułka usuwa cały tekst w pliku i wpisuje 1 linijkę którą ustawiłem, a mi chodzi aby usuwało tylko 1 linijkę i wpisywało w to miejsce inną

1

Uwaga, rzucam zaklęcia: java replace single line in file

0
vpiotr napisał(a):

Uwaga, rzucam zaklęcia: java replace single line in file

Dzięki przeszukałem 2 strony ale nie znalazłem efektu, lecz wpadłem na pomysł i już mi wszystko działa

0
FroGiS napisał(a):
stivens napisał(a):

Nie prosbiej byloby to zrobic w tym przypadku PrintWriterem?

PrintWriter output = new PrintWriter("plik.txt");
output.println("Ala ma kota");
output.close();

PS przeczytaj konstruktor FileWritera w dokumentacji;)
FileWriter(File file, boolean append)
Constructs a FileWriter object given a File object.

Niestety ale twoja odpowiedź nie jest poprawna ;/ dana formułka usuwa cały tekst w pliku i wpisuje 1 linijkę którą ustawiłem, a mi chodzi aby usuwało tylko 1 linijkę i wpisywało w to miejsce inną

Mialem sie domyslic?;)

Witam tak jak w temacie nie wiem jak napisać dany tekst aby się zamienił a nie dodawał. Mój kod:

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