Suppression de contenu d'un fichier avec java [Fermé]

Signaler
-
 amani -
Bonjour,


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

2 réponses

Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 858
Tu l'écrases (tu le supprimes, et tu le recrées)
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

merci je vais essayé mais le problème est que notre projet consiste de ne pas effacer le fichier du tout :(
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 858
Et bien expliques mieux ton projet. Tu peux peut-être juste utiliser le fichier pour construire un StringBuilder et faire tes modifications sur le StringBuilder (ajout, insertion, suppression) sans toucher au fichier ! En plus ce sera plus rapide que de faire des entrées/dorties sur le disque dur.
merci bcp.
notre projet est en fait diviser sur des partie notre groupe "exécuteur"va collecter des informations depuis un autre groupe (appelé planificateur) ces données sont écrites sur un fichier texte notre partie consiste à ouvrir les fichier pour exécuter les actions dedans puis le vider pour qu'il ne soit pas trop chargé des données.on n'a pas le droit de l'effacer car le planificateur l'utilise souvent pour envoyer les actions...
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 858
À ma connaissance, il n'y a pas de moyen qui permette d'effacer le contenu (même en partie) d'un fichier, les seules opérations que l'on puisse faire c'est lire, ou ajouter des données à la fin...
Et bien sûr les opérations systèmes classiques (créer et supprimer un fichier etc...)
Merci bcp pour votre aide je vais procéder comme vous m'avez déjà expliqué: supprimer le fichier et le recréer à vide.

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
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 858
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 ^^
j'ai essayé mais cela n'a rien effacé du fichier :/
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 858
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();
}
Utilisateur anonyme
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
merci bcp tout le monde :) cela marche bien.