Obtenir la taille du fichier de tableau d'octets (sans l'enregistrer sur le disque)
J'ai un octet du tableau et je veux calculer quelle serait la taille du fichier si je vais écrire ces octets dans un fichier. Est-il possible sans l'écriture du fichier sur le disque?
Byte[] arr;
int size = arr.Length;
- Octet sont la taille elle-même 🙂 KB, MB juste compter combien il y en a
Vous devez vous connecter pour publier un commentaire.
Ce sujet
array.Length
? Ressemble à une taille en octets.Euh, oui:
Un octet dans la mémoire serait un octet sur le disque... au moins un niveau plus élevé de fichiers système. Vous devez également potentiellement tenir compte du nombre de blocs individuels/groupes sectoriels seraient utilisées (et les frais généraux pour une entrée de répertoire), et la compression que le système d'exploitation peut donner, mais il n'est pas clair à partir de la question de savoir si c'est ce que vous êtes après.
Si vous avez vraiment ne veux savoir la "taille sur le disque", par opposition à la taille du fichier (de la même manière que Windows peut montrer que les deux numéros) je soupçonne que vous feriez vraiment avoir à l'écrire sur le disque, puis utiliser une API Win32 pour connaître la taille réelle sur le disque.
Array.Length
serait donner à votre taille totale exprimée en octets.Dimension physique sur le disque peut être un peu plus en considérant la taille de cluster.