У меня есть массив байтов, и я хочу рассчитать размер файла, если я напишу эти байты в файл. Возможно ли записать файл на диск?
Получить размер файла из массива байтов (без сохранения на диск)
Ответ 1
Как насчет array.Length
? Похоже на размер в байтах.
Ответ 2
Um, yes:
int length = byteArray.Length;
Байт в памяти будет байтом на диске... по крайней мере в терминах файловой системы более высокого уровня. Вам также необходимо потенциально рассмотреть, сколько отдельных блоков/кластеров будет использоваться (и накладные расходы для записи в каталоге), и любое сжатие, которое может предоставить операционная система, но неясно, из того, что вы после этого.
Если вы действительно хотите знать "размер на диске" в отличие от размера файла (так же, как Windows может показывать два числа), я подозреваю, что вам действительно нужно записать его на диск, а затем используйте API Win32, чтобы узнать фактический размер на диске.
Ответ 3
Array.Length
даст ваш общий размер, выраженный в байте.
Физический размер на диске может быть немного больше, учитывая размер кластера.