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

Entrée/Sortie Java Discussion :

Etat de fichier


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 123
    Par défaut Etat de fichier
    Bonjour,
    J'ai un problème au niveau de la manipulation d'un fichier.
    En faite,j'ai une classe JAVA qui crée un fichier crypté dans un emplacement sur le disque d'un client (vue que c'est une application client/serveur) puis j'attache ce fichier et je l'envoi par mail via un serveur exchange en faisant appel à une méthode "envoyer()".Ensuite je doit supprimer ce fichier du disque locale (machine client).
    Le problème démarre quant je demande la suppression de fichier (aprés son envoi ) parceque l'instruction file.delete() ne peut pas s'exécuter vue que le ficher est en train d'utiliser par le processus d'attachement de fichier (lors de son envoi par mail).
    J'ai penser à mettre l'instruction mais la valeur de xxx dépend du temps de réponse de serveur exchange utilisé lors de l'attachement de fichier, et en plus ça sera pas une solution générique.
    Donc , ce que je demande une solution qui me permet de tester la desponibilité d'un fichier pour la suppression pour que je puisse l'intégrer et résoudre mon problème.
    Merci d'avance.

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 887
    Par défaut
    Salut,

    Tu peux déclencher une thread parallèle, qui se chargera, toutes les minutes par exemple, d'effacer le fichier.

    Tant qu'elle n'y arrivera pas ( Exception levée ) tu attends une minute, et tu recommences.

    L'avantage d'une thread, c'est que ton programme ne sera pas bloqué pendant ce temps là.

    Pour plus de sécurité, tu peux ajouter le fichier à effacer en base de données ou dans un fichier, afin que même si l'utilisateur ferme l'application, le thread de suppression de fichier sera toujours opérationnel et tentera d'effacer le dit fichier.

    Voila une solution... Un peu bancal ( car je ne connais pas de moyens d'obtenir une réponse lors de l'envoi d'un fichier à partir d'exchange, ce qui aurait été optimal ) mais qui te permet de résoudre ce problème..

    Tu as aussi la méthode deleteOnExit ( File ) qui pourrait t'interesser.

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 123
    Par défaut
    merci pour votre interet,
    En faite je ne sait pas bien manipuler les thread, si vous pouvez me donner une idée comment je peut lancer un thread en parallel.
    Merci

Discussions similaires

  1. Etat transfert fichier par service web
    Par hanubis37 dans le forum Services Web
    Réponses: 8
    Dernier message: 06/03/2014, 15h59
  2. [WD17] Etat multi-fichiers MYSQL
    Par zatoichi31 dans le forum WinDev
    Réponses: 3
    Dernier message: 10/07/2012, 16h26
  3. [AC-2000] Export d'un etats vers fichier Excel
    Par Jazz_ dans le forum IHM
    Réponses: 15
    Dernier message: 07/10/2010, 16h09
  4. exporter etat sur fichier texte
    Par gui-llaume dans le forum VBA Access
    Réponses: 4
    Dernier message: 12/11/2007, 17h16

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