Bonjour,
Est il possible de connaitre le format d'un fichier avant d'ouvrir celui-ci ?
(binaire ou formatté)
Merci
Bonjour,
Est il possible de connaitre le format d'un fichier avant d'ouvrir celui-ci ?
(binaire ou formatté)
Merci
Premier point : Quand tu dis binaire, parles-tu d'un fichier Fortran « unformatted » ? Parce que ce n'est pas la même chose.
Ce n'est pas possible de manière fiable. Cependant, tu peux le déduire de 2 façons :
- Par l'extension du fichier
- Par une analyse du contenu
Extension du fichier
Tu peux exiger des utilisateurs qu'ils indiquent le type de données par l'extension. Par exemple, .txt, .bin , ...
Analyse du contenu
Tu ouvre le fichier stream ou binaire si possible, mais formatté séquentiel fonctionne aussi. Tu en lis un certain bout via une variable caractère. Tu peux ensuite examiner le contenu de la variable caractère. Tu peux déduire que le fichier est binaire si :
- Tu trouve des «tags». Les fichiers binaires en ont souvent dans les premiers bytes. Par exemple, les fichier Word et Excel commencent toujours par les mêmes séquences.
- Tu ne trouve pas de CR-LF (char(13) - char(10)) (en Windows - pas vrai sous Linux)
- Il y a beaucoup de caractères < char(32) ou plus grand que «z» (attention aux caractères accentés)
Je parlais de fichier UNFORMATTED.
J'ai trouvé une autre solution. Comme je connaissais le type de la première donnée, un entier, j'ouvre le fichier en formatté, je lis un entier. Si le read n'est pas content, mon fichier est non-formatté.
Merci pour les infos Sylvain.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager