Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
947 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Detecter la modification d'un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Detecter la modification d'un fichier

n°557694
molton
Toujours dans la tendance...
Posté le 03-11-2003 à 14:48:08  profilanswer
 

Bonjour,
 
Je souhaite un mecanisme qui me permettre de savoir lorsqu'un fichier a ete modifier.
 
Est-ce que l'interface Observable peut faire l'affaire ?
Si oui comment ?
 
Cedric

mood
Publicité
Posté le 03-11-2003 à 14:48:08  profilanswer
 

n°557703
benou
Posté le 03-11-2003 à 14:51:40  profilanswer
 

non.
 
la seule possibilité c'est de faire un thread qui va regarder un coup de temps en temps la date de dernière modification du fichier, et générer un évenement dans ce cas. Là tu pourras mettre en place le design pattern observé/observable.


---------------
ma vie, mon oeuvre - HomePlayer
n°557704
chrisbk
-
Posté le 03-11-2003 à 14:52:29  profilanswer
 

je proposerais bien un appel au API mais bon [:cupra]

n°557708
benou
Posté le 03-11-2003 à 15:02:25  profilanswer
 

chrisbk a écrit :

je proposerais bien un appel au API mais bon [:cupra]


pkoi t'utilises le mot "API" comme ca ? quels API ?


---------------
ma vie, mon oeuvre - HomePlayer
n°557714
chrisbk
-
Posté le 03-11-2003 à 15:04:46  profilanswer
 

benou a écrit :


pkoi t'utilises le mot "API" comme ca ? quels API ?


 
je dis ca pour les "Win32 API" (raccourcis entrainant des confusions j'imagine), elles disposent de fonctions bloquant un thread jusqu'a une modif sur fichiers/rep/etc....
 

n°557717
benou
Posté le 03-11-2003 à 15:06:34  profilanswer
 

chrisbk a écrit :


 elles disposent de fonctions bloquant un thread jusqu'a une modif sur fichiers/rep/etc....
 


ouais, c'est une façon de résoudre le problème mais ca fait faire du natif ...


---------------
ma vie, mon oeuvre - HomePlayer
n°557720
chrisbk
-
Posté le 03-11-2003 à 15:08:17  profilanswer
 

benou a écrit :


ouais, c'est une façon de résoudre le problème mais ca fait faire du natif ...


 
vivi, d'ou mon [:cupra]
Maintenant, ca depend ensuite des besoins du gars, si il peut se permettre du natif ou non [:spamafote] (meme si dans l'absolu j'imagine bien qu'on evite ce genre de bricole)

n°557844
veryfree
Posté le 03-11-2003 à 17:11:39  profilanswer
 

je pense que le probleme est posé de facon un peu vague.
 
pourrait tu preciser?
 

n°557948
molton
Toujours dans la tendance...
Posté le 03-11-2003 à 18:29:22  profilanswer
 

veryfree a écrit :

je pense que le probleme est posé de facon un peu vague.
 
pourrait tu preciser?
 
 


 
Bien sur,
Je dois concevoir un jeu en reseau. Ce jeu doit communiquer uniquement par fichier. C'est une contrainte meme si c'est loin d'etre le moyen le plus efficace. Je precise que c'est pour un cours sur les systemes distribues
 
J'utilise une architecture client/serveur
 
C'est un jeu de strategie. Mais le but du jeu importe peu.
 
Le serveur possede un fichier.
Les clients possedent egalement un fichier sur lequel ils ecrivent les mouvements qu'ils font.
Le serveur doit lire les fichiers des clients, en detecter les modifications et ensuite mettre a jour son propre fichier avec ces modifications.
 
Pour etre au courant de l'etat de la partie, chaque client vont lire le fichier du serveur et vont ensuite detecter les nouvelles modifications pour mettre a jour la partie
 
Donc j'ai besoin de coder ce mecanisme de mise a jour de fichier

n°557961
veryfree
Posté le 03-11-2003 à 18:37:00  profilanswer
 

ola, c chaud, il faut géré la synchronization des acces aussi, ca va se ressentir dans les performances ca!
avec des sockets ca aurait été si simple :sweat:

mood
Publicité
Posté le 03-11-2003 à 18:37:00  profilanswer
 

n°557967
benou
Posté le 03-11-2003 à 18:43:55  profilanswer
 

:/ ce serait quand même plus simple avec des sockets ...
 
mais bon, j'imagine que t'as pas le choix...
 
Dans ce cas, il faudra surement que tu mettes en place un Thread qui testeras toutes les x millisecondes si le fichier a été modifié et préviendra ton appli si c'est le cas.


---------------
ma vie, mon oeuvre - HomePlayer
n°557976
molton
Toujours dans la tendance...
Posté le 03-11-2003 à 18:46:14  profilanswer
 

benou a écrit :

:/ ce serait quand même plus simple avec des sockets ...
 
mais bon, j'imagine que t'as pas le choix...
 
Dans ce cas, il faudra surement que tu mettes en place un Thread qui testeras toutes les x millisecondes si le fichier a été modifié et préviendra ton appli si c'est le cas.


 
Je suis un peu rouille avec les sockets. Tu peux pas me donner un petit bout de code la dessus ?
 
Thx

n°557979
benou
Posté le 03-11-2003 à 18:47:33  profilanswer
 

molton a écrit :


Je suis un peu rouille avec les sockets. Tu peux pas me donner un petit bout de code la dessus ?


non, j'en ai pas sous la main, mais un petit coup de google (tutorial java socket) te donneras tout ce que tu veux


---------------
ma vie, mon oeuvre - HomePlayer
n°557986
molton
Toujours dans la tendance...
Posté le 03-11-2003 à 18:54:14  profilanswer
 

benou a écrit :


non, j'en ai pas sous la main, mais un petit coup de google (tutorial java socket) te donneras tout ce que tu veux  


 
Pardons, je voulais dire avec les threads. Je suppose que c'est la meme manip ?

n°557990
kaa
Posté le 03-11-2003 à 18:57:04  profilanswer
 

salut,
 
il ne serai pas mieux que tu attaches un compteur de modification pour chacun des fichiers ?
A chaque modif le client ou le serveur incremente son compteur. Ainsi, sur eg un echange S/C, le serveur demande au client son fichier avec en plus le dernier num. de modif. qu'il connait du client ; si le num mod. du client a evolue, il passe le nouveau num + fichier au serveur, sinon rien (ou un simple OK).
Idem dans le sens C/S.
 
Tu pourrais ensuite broder sur des classes de modifs et non + un simple compteur mais un ensemble de compteurs.
 
C'est sans doute assez dans l'esprit d'un exo systemes distribues.
 
Sinon, voir du cote des horloges logiques (Lamport, Fidge & co).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Detecter la modification d'un fichier

 

Sujets relatifs
C# : fichier video a gerer...Numérotation dans un fichier
VbScript + Excel + Fichier texte[BUG] DL un fichier se trouvant dans un dossier protégé en HTaccess
[resolu] espace dans un chemin de fichier[C] Lire une structure (fichier bitmap)
[C++] Recherche d'une chaine dans un fichier[Dbase] Ouvrir un fichier .ndx
[C++]Insérer une ligne dans un fichier[C/C++] detecter la modification d'un fichier
Plus de sujets relatifs à : Detecter la modification d'un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR