IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Vérifier fichier en cours d'écriture?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Par défaut Vérifier fichier en cours d'écriture?
    Bonjour,

    Je vous explique.

    J'ai des gros fichiers vidéos qui arrivent dans un dossier (par un partage réseau, ftp ou autres).
    Une fois que le fichier est là, je veux lancer un traitement (un encodage, ou autres).
    Le problème c'est que c'est des gros fichiers, plusieurs 2 à 5 Go. Donc il faut que j'attend la fin de la copie pour lancer mes traitements.
    Comment connaitre la fin de la copie??
    Je pensai à faire un streamWriter sur le fichier, et tant qu'un erreur est catché, je lance pas... Mais je suis pas sûre de la méthode!
    Comment je pourrai faire ça? Avec un filewatcher?

    Merci

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Perso, je pense qu'il suffit de regarder si la taille du fichier change toutes les 30 secondes. En effet lorsque tu télécharges la taille du fichier change
    Ensuite pour le problèmes de coupure de téléchargement, le prog risque de penser que le ld est fini. Il faudra alors avant tout travaille dessus vérifier la validiter du fichier. Je ne sais pas comment on fait cela, mais cela ne doit pas être sorcier.

  3. #3
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    Les applis qui écrivent ne forment pas des .part. ou ce genre de chose le temps d'envoyer les fichiers ?

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par ced600 Voir le message
    Il faudra alors avant tout travaille dessus vérifier la validiter du fichier. Je ne sais pas comment on fait cela, mais cela ne doit pas être sorcier.
    En faisant un Checksum du fichier peut-être ?

  5. #5
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Par défaut
    Merci de vos réponses.

    Je n'ai pas la main sur les fichiers avant qu'ils soient dans mon répertoire. Pas moyen donc de générer de signature du fichier. Je pense qu'au final, ca va être un partage windows, donc pas de fichier .part non plus :s

    Actuellement, j'ai un filewatcher qui me détecte un nouveau fichier, et une boucle de streamwriter pour tester si j'ai accès...

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 167
    Par défaut
    Citation Envoyé par ced600 Voir le message
    Perso, je pense qu'il suffit de regarder si la taille du fichier change toutes les 30 secondes. En effet lorsque tu télécharges la taille du fichier change
    Ce n'est pas toujours vrai, en fonction de ce qui est utilisé pour le transfert, la taille totale du fichier (si elle est connue évidemment) peut déjà être directement allouée au fichier dès le début transfert et les blocs sont ensuite remplis en fonction des packets qui arrivent.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    Tout simplement : si la connexion ralentit fortement, la taille ne va pas changer en 30 seconde, mais en 32 : argh!

  8. #8
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Ce n'est pas toujours vrai, en fonction de ce qui est utilisé pour le transfert, la taille totale du fichier (si elle est connue évidemment) peut déjà être directement allouée au fichier dès le début transfert et les blocs sont ensuite remplis en fonction des packets qui arrivent.
    +1
    Je n'y pensais plus. En plus j'utilise un outil pour le dl se comporte comme cela

    Tout simplement : si la connexion ralentit fortement, la taille ne va pas changer en 30 seconde, mais en 32 : argh!
    +1 aussi

    Bon ok :

    La prochaine fois je réflichirais un peu avant de poster

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    Tant que le fichier se copie, il est en lecture seul : on peut le tester toutes les 30 secondes? (c'est pas une affirmation, mais une question)

  10. #10
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Cela doit être possible.
    Mais bon dans ce cas là le FileSystemWatcher ne serait il pas adapter au besoin ?
    C'est aussi une question car je ne l'ai pas encore utilisé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comportement suspect lors de la suppression d'un fichier en cours d'écriture sur un montage samba
    Par moonbossa dans le forum Applications et environnements graphiques
    Réponses: 0
    Dernier message: 18/03/2011, 18h49
  2. Identifier les fichiers en cours d'écriture par un process ext
    Par sinmaniphel dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 24/01/2007, 09h22
  3. Réponses: 8
    Dernier message: 23/06/2006, 22h53
  4. [VB.NET] Comment acceder au fichier en cours d'utilisation ?
    Par Aspic dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/02/2006, 16h40
  5. Réponses: 2
    Dernier message: 29/01/2004, 11h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo