Suppression/déplacement d'images impossible

Résolu
cs_vychnou Messages postés 124 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 11 mai 2009 - 7 sept. 2006 à 12:54
cs_vychnou Messages postés 124 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 11 mai 2009 - 13 sept. 2006 à 10:25
Bonjour à vous.


Voila mon problème:


Une application graphique en swing affiche la liste des images
contenues dans un dossier, en cliquant sur l'image celle-ci s'affiche
dans un composant, et si l'utilisateur veut supprimer l'image, il
clique sur un bouton dédié et l'image est sensée être supprimée.


Le problème, c'est que les méthodes delete() et renameTo( "blabla" ) de
la File pointant sur l'image en question me renvoient toutes les 2 false (alors que la méthode canWrite() me renvoie elle true).


Le plus déroutant dans tout ça c'est que quelquefois,  la suppression (ou déplacement) fonctionne.


J'ai les droits de modification et compagnie sur les fichier/dossiers et je ne vois pas ce qui cause ce problème.


Peut être l'objet de classe ParameterBlock que j'utilise pour créer mon image JAI verrouille ces fichiers ?


Peut être est ce du à la création de l'image JAI via la méthode
JAI.create("filesystem", parameterblock) qui bloquerai le fichier ?


Merci, de votre future aide,

A+

6 réponses

cs_vychnou Messages postés 124 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 11 mai 2009 18
13 sept. 2006 à 10:25
J'ai (enfin) résolu mon problème.

Alors pour ceux qui le rencontreraients, voici la solution:

<li>Je créais mes objets JAI, les affichais.</li><li>Lorsque l'utilisateur voulait supprimer un fichier, je mettais les objets JAI à null, j'enlevais l'affichage etc...</li><li>Le problème venait du fait que le garbage collector semblait ne pas effacer assez tôt les objets JAI de la mémoire (quel flemmard !). Un appel à la méthode : System.gc(); m'a permis de tout résoudre. Celle-ci permet au développeur d'appeler manuellement le garbage collector.</li>Un problème auquel il fallait penser, mais après tous les tests que j'ai fait, il ne restait plus 36 possibilités.


Merci pour vos tentatives d'aide,

A+

         
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
7 sept. 2006 à 13:32
Attention, si ton fichier est en cours d'utilisation, c'est normal qu'il ne veuille pas le supprimer ou le déplacer !

Donc assure toi que tout les pointeurs vers le fichier sont bien fermés !
0
cs_vychnou Messages postés 124 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 11 mai 2009 18
7 sept. 2006 à 13:54
C'est justement mon problème: qu'est ce qui fait office de pointeur sur mon fichier ?
<li>
Seulement les objets de type File ?</li><li>
Les objets de type ParamaterBlock ?</li><li>
Les objets de type PlanarImage JAI ?</li><li>
Le composant graphique qui affiche l'image?</li>

Il me semble que j'ai supprimé tous les pointeurs et même plus par précaution.


"Attention, si ton fichier est en cours d'utilisation, c'est normal
qu'il ne veuille pas le supprimer ou le déplacer !"

Oui, d'accord, mais si le fichier était en cours d'utilisation, canWrite() renverai-elle true ?!


Toujours-est-il, merci de ton aide!
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
7 sept. 2006 à 14:42
Salut,

nomalement si un fichier est locké canwrite ne te renvoit pas true

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_vychnou Messages postés 124 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 11 mai 2009 18
7 sept. 2006 à 14:47
C'est bien ce que je pensais, donc à priori le fichier n'est pas locké.

Je ne voit donc pas d'où viens l'impossibilité de suppression/déplacement...

Une idée?
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
7 sept. 2006 à 17:46
Salut,


D'apres la doc de JAI la methode JAI.create(...) est bloquante
maintenant faut voire ce qu'ils appels bloquante puis aussi si ils
gardent ou non un stream ouvert sur ton image....

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
Rejoignez-nous