IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

Fichier en cours d'utilisation - Suppression impossible [DOM]


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre confirmé Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Points : 474
    Points
    474
    Par défaut Fichier en cours d'utilisation - Suppression impossible
    Bonjour à tous,
    J'ai un petit soucis avec un fichier xml : après l'avoir enregistré sur le disque (avec ce code-ci), j'essaie de le déplacer. Pour cela, je le copie et je supprime la source, car le déplacement peut se faire sur un autre disque (donc pas de rename). Seulement voilà, il m'est impossible de supprimer le fichier original car il est en cours d'utilisation...
    Comment faire ? Merci pour votre aide

  2. #2
    Membre confirmé Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Points : 474
    Points
    474
    Par défaut
    Un petit up
    Personne n'a jamais rencontré ce problème ? Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public void flush() throws TransformerException
    {
    	// Création de la source DOM
    	Source source = new DOMSource( document );
     
    	// Création du fichier de sortie
    	Result resultat = new StreamResult( getPath() );
     
    	// Configuration du transformer
    	TransformerFactory factory = TransformerFactory.newInstance();
    	Transformer transformer = factory.newTransformer();
    	transformer.setOutputProperty( OutputKeys.METHOD, "xml" );
    	transformer.setOutputProperty( OutputKeys.INDENT, "yes" );
    	transformer.setOutputProperty( OutputKeys.ENCODING, "ISO-8859-1" );
     
    	// Transformation
    	transformer.transform( source, resultat );
    }
    Cette fonction est dans une classe XMLFile qui etend java.io.File.
    Ensuite je copie le fichier avec org.apache.commons.io.FileUtils.copyFile(File, File), puis je supprime la source avec org.apache.commons.io.FileUtils.forceDelete( File ).

  3. #3
    Membre confirmé Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Points : 474
    Points
    474
    Par défaut
    Re bonjour,
    J'ai trouvé une solution : passer par JDOM.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public void flush() throws IOException
    {	
    	PrintWriter fic = null ;
    	try
    	{
    		fic = new PrintWriter(this) ;
    		XMLOutputter out = new XMLOutputter() ;
    		out.output( new DOMBuilder().build(document), fic ) ;
    	}
    	finally
    	{
    		if ( fic != null ) {
    			fic.flush() ;
    			fic.close() ;
    		}
    	}
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Suppression d'un fichier en cours d'utilisation
    Par spamitovic dans le forum VB.NET
    Réponses: 2
    Dernier message: 14/05/2011, 19h03
  2. Samba / fichier en cours d'utilisation
    Par dycobe dans le forum Réseau
    Réponses: 2
    Dernier message: 05/03/2008, 09h19
  3. [D7] Lire un fichier en cours d'utilisation
    Par bibi26 dans le forum Delphi
    Réponses: 3
    Dernier message: 05/07/2007, 10h00
  4. Fichier en cours d'utilisation
    Par kendras dans le forum C
    Réponses: 9
    Dernier message: 29/11/2006, 11h45
  5. [VB.NET] Comment acceder au fichier en cours d'utilisation ?
    Par Aspic dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/02/2006, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo