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 :

[C# 2.0] : Récupérer le type d'un fichier


Sujet :

C#

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 175
    Points : 166
    Points
    166
    Par défaut [C# 2.0] : Récupérer le type d'un fichier
    Bonjour,

    Voici mon problème, j'espère que qq'un poura m'aider.... D'AVANCE MERCI ;-)

    Imaginons que j'ai dix fichiers JPEG, dix GIF, dix BMP, dix AVI, et dix MPEG sur mon disque dur

    je change l'extension de ces fichiers de façon aléatoire en mettant par exemple : .DOC, .XLS, .PDF ou meme des extrension bidon .SAMU, .AZE, .RTY, .UIO, etc....

    Comment je peux faire pour savoir de quel type il s'agit ?

    Merci et bonne journée

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 133
    Points : 112
    Points
    112
    Par défaut
    Tu veux dire quel type d'origine ils sont par exemple j'ai un .jpg que je transforme en .dat et tu voudrais par programmation dire cest un .jpg ?

  3. #3
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    si je me souviens de mes cours de fac , le type de fichier est inscris dedans , c'est d'ailleurs la premiere chose marquée , exemple tu ouvre un fichier JPEG dans un editeur de texte , le fichier doit commencer par JPEG et ensuite tout les caracteres représentant l'image !

    Par contre , j'ai bien peur que quand tu change une extension , Windows se charge de faire le changement a l'interieur aussi ....

    Bon , ce que j'ai dis est peut etre une enormité dans ce cas mea culpa ...
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 175
    Points : 166
    Points
    166
    Par défaut
    Salut,

    Citation Envoyé par nicoo
    Tu veux dire quel type d'origine ils sont par exemple j'ai un .jpg que je transforme en .dat et tu voudrais par programmation dire cest un .jpg ?
    Si je renomme un fichier toto.txt en toto.jpg, je veux que mon programme puisse me dire que le type de fichier est txt et non pas jpg

  5. #5
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    il n'y a malheureusement aucun moyen de vérifier la "vraie" extension d'un fichier après avoir renommer (ou supprimer) l'extension avec une efficacité à 100%.

    Comme le disait justement RideKick la plupart des formats de fichiers mettent trois lettres (plus ou moins) tout au début du fichier pour indiquer son type, mais les trois lettres sont parfois différentes de l'extension. Dans certains cas, il n'y a rien pour indiquer le type du fichier .... c'est le cas des fichiers textes "purs" notamment (ou de tout ce qui est basé sur du texte uniquement, comme les fichiers XML ou autre).

    Dans d'autres cas, les trois lettres ne sont pas suffisantes pour déterminer le type exacts du fichier.

    Pour prendre un exemple, les fichiers exécutables sous windows commencent tous par les deux lettres "MZ", mais ça ne donne pas le type exact (.exe ; .dll ; .sys , etc.). Il faut alors "parser" les structures internes du fichier pour en connaître son type exact et en déduire son extension (si le type du fichier est documenté, sinon ça complique encore plus le problème !)

    Pour bien faire il faudrait une gigantesque database de tous les types de fichiers avec leur structures internes pour pouvoir les repérer (via un algo de pattern matching) non pas avec leur extension mais avec leur constitution interne.

    Malheureusement ça n'existe pas...

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 175
    Points : 166
    Points
    166
    Par défaut
    Merci pour toutes ces précisions

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

Discussions similaires

  1. Un code VBA pour récupérer un type de donnée ?
    Par KEROZEN dans le forum VBA Access
    Réponses: 22
    Dernier message: 26/09/2019, 11h12
  2. [SQLServer2000][SQL] Récupérer un type de donnée.
    Par maldufleur dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/04/2006, 09h01
  3. Récupérer le type d'objet ayant le focus
    Par pilz dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/02/2006, 14h31
  4. Récupérer le type et la taille d'une colonne
    Par Progs dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 23/09/2005, 17h27
  5. Récupérer le type de démarrage d'un service
    Par Nathan dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 09/04/2004, 15h07

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