Bonjour,
Je suis à l'ecoute de fichier qui doivent se chargés dans un repertoire, comment puis je savoir si le fichier est fini de charger afin de faire des traitement dessus ?
Merci
Bonjour,
Je suis à l'ecoute de fichier qui doivent se chargés dans un repertoire, comment puis je savoir si le fichier est fini de charger afin de faire des traitement dessus ?
Merci
Ceci n'est qu'une hack que j'aurai essayer si j'étais à ta place, donc, dans l'attente d'une solution plus efficace que celle proposé par ce post...
- Un Timer avec un intervale choisit selon la moyenne de temps de chargement des fichiers.
- A chaque Tick, tu tente un accès au fichier. Si l'accès est refusé c'est que le fichier est toujours en cours de chargement. Si réussi, tu peux traiter le fichier.
NB : ça marchera seulement si le fichier reste ouvert durant le chargement des données.
essaie de l'ouvrir en lecture en mode exclusif : si ça échoue, c'est que le fichier est déjà ouvert par un autre programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public bool IsFileOpen(string path) { FileStream fs = null; try { fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None); return false; } catch(IOException ex) { return true; } finally { if (fs != null) fs.Close(); } }
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Partager