Operation sur un fichier

Operation sur un fichier - Java - Programmation

Marsh Posté le 20-05-2009 à 12:35:15    

Bonjour,  
 
Voilà, j'ai un petit problème, j'explique la situation:  
 
Des boites qui comptent en fait le passage de puces RFID, écrivent dans un fichier.  
 
Jusque là ok, maintenant je réalise un programme java qui lit le fichier, met le contenu dans une base de donnée (jusque là pas de soucis), puis le ferme.
 
Maintenant 2 problèmes:
 
-Il ne faudrait pas que le programme lise le fichier en même temps que la boite essaie d'écrire dedans
-Je dois mémoriser la position de la dernière lecture pour pouvoir ré-ouvrir le fichier et reprendre la lecture au même endroit
 
Je ne vois pas vraiment comment je pourrais faire.
 
Pour lire le fichier j'utilise un BufferedInputStream.
 
Merci d'avance  :)


---------------
[topic des lieux abandonnés] | "Sur HFR chacun a raison et les autres sont des cons"
Reply

Marsh Posté le 20-05-2009 à 12:35:15   

Reply

Marsh Posté le 20-05-2009 à 14:14:35    

Bon pour le probleme de position je pense que je vais plutot utiliser le RandomAccessFile  
( http://java.sun.com/j2se/1.4.2/doc [...] sFile.html )
 
Et si j'ouvre le fichier en lecture seule ça ne poserait pas de probleme pour le programme qui écrit ?  
 
Je ne sais pas trop comment se déroulent les accès concurrents à un fichier...


---------------
[topic des lieux abandonnés] | "Sur HFR chacun a raison et les autres sont des cons"
Reply

Marsh Posté le 22-05-2009 à 16:03:06    

Tu liras le fichier en même temps que la boite y écrit.
 
Tiens toi juste prêt à ce que la dernière ligne soit incomplète et à l'ignorer ...

Reply

Marsh Posté le 22-05-2009 à 17:04:04    

Merci de ta réponse :jap:
 
Merde, une grande partie de mon prog se base sur le fait que les lignes soient complètes :/


---------------
[topic des lieux abandonnés] | "Sur HFR chacun a raison et les autres sont des cons"
Reply

Marsh Posté le 22-05-2009 à 17:25:02    

si tu veux éviter que ton fichier soit accédé en même temps en lecture et écriture, tu peux pitet mettre ta méthode d'écriture en synchronized, mais je sais pas si ça prend le verrou sur l'objet entier ou si ça limite les accès concurrents à cette seule méthode

Reply

Marsh Posté le 22-05-2009 à 17:33:44    

En fait je n'écris jamais dans ce fichier avec mon programme java, je ne fais que des lectures, j'ouvre toujours le fichier avec l'argument R de mon randomaccessfile.  
 
Le fichier est créé par la boite et elle écrit dedans ponctuellement, en fait elle écrit 1 ligne d'un seul coup, donc je ne pense pas que j'aurai une ligne incomplète, je vais cependant regarder pour synchroniser ou mettre un lock dessus si jamais.
 
merci beaucoup :)


---------------
[topic des lieux abandonnés] | "Sur HFR chacun a raison et les autres sont des cons"
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed