Suppression de contenu d'un fichier avec java

Bonjour,

j'ai un fichier je veux effacer son contenu comment faire svp

2 réponses

  1. Salut,

    Par exemple avec FileWriter qui permet d'ajouter au contenu du fichier, ou de supprimer le contenu du fichier avant d'ajouter.

    Ce que nous ajouterons dans le cas ci-dessous, c'est une ligne nulle (""):

    PrintWriter pw =  new PrintWriter(new BufferedWriter
               //(new FileWriter("nomFichier.type", true))); // >>>> append = ajout
                //ou bien:
                (new FileWriter("nomFichier.type", false))); // >>>> on remplace (on "écrase")
                //ou encore (par défaut):
                //new FileWriter("nomFichier.type"))), // on remplace (on "écrase")
    
    // Et on ajoute une ligne de longueur 0 (""):
                 pw.println("");
    


    Cordialement,

    Dan
    -1
    1. Modérateur
      Ta ligne de "longueur 0" contiendra en fait le(s) octet(s) de fin de ligne CR et/ou LF à cause du println.
      Mais je suis tout à fait d'accord, créer un FileWriter permettra d'écraser le fichier, mais c'est une suppression/recréation du fichier comme je l'indiquais plus haut, cela nécessitera en particulier que tous les flux sur le fichier initial soient fermés... à moins d'aimer les IOException ^^
      0
    2. j'ai essayé mais cela n'a rien effacé du fichier :/
      0
    3. Modérateur
      Juste ça, ça vide un fichier (si tu as les droits bien sûr)

      public static void main(String...args) throws IOException
      {
          new FileWriter(new File("D:\\test.txt")).close();
      }
      0
    4. Re,

      PrintWriter pw = new PrintWriter(new BufferedWriter
      (new FileWriter("leFichier.sonType", false))); // >>>> on ajoutera après suppression de ce qui existait éventuellement
      pw.print("");// ajout de la ligne vierge si print sans ln bien entendu
      pw.close();
      


      Dan
      0
    5. merci bcp tout le monde :) cela marche bien.
      0
  2. Modérateur
    Tu l'écrases (tu le supprimes, et tu le recrées)
    1
    1. je veux le garder car on doit l'utiliser en même temps dans le code en écriture.je dois le garder et le vider s'il contient qql chose
      0
    2. Modérateur
      Alors expliques mieux ce que tu veux faire. Tu veux l'effacer, le garder, écrire et vider... Dans quel ordre ? Pourquoi faire ? Quels types de données ?
      0
    3. c'est un fichier texte.je dois a chaque fois tester s'il contient qql chose (car dans une partie de programme on écrit dans le fichier) après se test je dois effacer son contenu sans changer ni son nom ni son emplacement juste vider le contenu..alors comment?
      0
    4. Modérateur
      Si tu fais sans arrêt des écritures, suppression, écritures etc... Pourquoi utiliser un fichier pour ça ?
      Savoir si le fichier contient quelque chose c'est facile, il suffit de mettre un booléen à true dès que tu écris dedans et à false dès que tu l'effaces, mais je ne vois pas ce qui t'empêche de fermer ton fichier, le supprimer, et le recréer, ça fera exactement pareil que l'effacer (ce qui n'est pas directement possible à ma connaissance)
      0
    5. bon comment tester s'il est non vide comment l'écraser et le récréer ..
      0

Discussions similaires

question pix mot caché

7 réponses