Modifier un seul mot dans un fichier

Résolu
eccsup Messages postés 77 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 14 novembre 2022 - 26 mai 2011 à 14:20
eccsup Messages postés 77 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 14 novembre 2022 - 31 mai 2011 à 13:03
Bonjour a tous,

VOila mon probleme :

J'ai un fichier faisant office de base de donnée, et je souhaitrais ne modifier qu'une seul ligne dans celui ci, sans avoir besoin de réécrire le fichier en entier.

J'ai pour l'instant une solution qui marche, mais qui oblige la réécriture complete du fichier, or, comme il fait plus de 2000 lignes, ca prend vite du temps.

Si quelqu'un sait comment faire, je suis ouvert a tout, car pour l'instant, je n'ai trouver que des solution conseillant de réécrire tout le fichier.

Merci pour votre aide

21 réponses

eccsup Messages postés 77 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 14 novembre 2022
31 mai 2011 à 13:03
En vérité, lorsqu'un utilisateur souhaite ajouté des données à la base, je charge l'ensemble de ma base de donnée dans une arrayList, et grace à un système de ressource critique, je verouille l'accès en modification à la base de données : les autres utilisateurs peuvent y lire des données, mais pas ajouter.

Pendant ce temps, l'algorithme apporte les modification nécessaire à la base directement sur l'ArrayList,puis enregistre son contenu sur 'C:/Documents and settings/User/localsetting/temp' sous forme de fichier temporaire, puis je remplace le fichier original par le temporaire grace a un
my.Computer.fileSystem.moveFile(temporaire,original, true).

De cette facon, les utilisateur en train de lire la base de donnée n'y ont plus accès que pendant une fraction de seconde (le temps de la copie)


Initialement, j'utilisait aussi ce principe, sauf que le fichier temporaire était créer sur le réseau, et c'est ca qui posait problème...
0
Rejoignez-nous