La création, la rédaction et l'édition d'un même fichier texte en java

Disons que j'ai le code suivant:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class EditFile {

    public static void main(String[] args) {

        try{
            String verify, putData;
            File file = new File("file.txt");
            file.createNewFile();
            FileWriter fw = new FileWriter(file);
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write("Some text here for a reason");
            bw.flush();
            bw.close();
            FileReader fr = new FileReader(file);
            BufferedReader br = new BufferedReader(fr);
            while( br.readLine() != null ){
                verify = br.readLine();
                if(verify != null){
                    putData = verify.replaceAll("here", "there");
                    bw.write(putData);
                }
            }
            br.close();


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

}

Tout ce que je voulais faire était d'écrire quelque chose dans un fichier texte, dans mon cas, "un texte pour une raison". Puis de lire les données de mon fichier, et enfin changer mon texte à partir de mon fichier texte ici pour une raison" dans "texte là pour une raison". J'ai couru le code, mais il arrive à écrire dans mon fichier "texte ici pour une raison".

J'ai essayé de comprendre ce qui n'allait pas dans mon code, mais il était malheureusement en vain. Tout conseil ou de réécriture est très apprécié de moi.

  • Le Problème est que vous ne pouvez pas lire le fichier ?
  • Ce que vous essayez de réaliser n'est pas logique que vous tentez de bw.write après que vous avez déjà bw.close();. En outre, en général, pourquoi voudriez-vous faire quelque chose comme ça ? si vous savez déjà ce que vous voulez changer - écrire une fois pour le fichier! (au lieu de l'écriture, de la lecture et de la ré-écriture)
  • C'est corect, je l'ai modifié et il a travaillé en quelque sorte. Vérifier mon dernier commentaire à partir du bas de la page, s'il vous plaît :). Merci en tout cas.
  • N'est-ce pas quelque chose de spécial ce que je veux écrire dans mon fichier. L'idée principale est que ce que je suis en train de le faire est par la pratique, et l'une de mes idées était que: Écrire quelque chose dans un fichier texte, puis de modifier le fichier(la modification d'une chaîne par une autre) et, enfin, dans mon fichier existant à apparaître seulement la modification de la chaîne. Pouvez-vous gérer cela?