Как найти объем файла байт

  1. Определение
  2. Единица измерения
  3. Как определить размер файла?
  4. Как определить размер группы файлов?
  5. Ограничения в размере файла при передаче
  6. Как уменьшить размер файла?

Во время работы на компьютере часто появляется необходимость узнать размер файла. Это позволяет рассчитать, поместится ли он на цифровом носителе, при переносе или увидеть, сколько памяти занимает папка в памяти ПК. Рассмотрим подробно данное понятие и способ пошагово вывести информацию о размере на экран, различные манипуляции, которые могут пригодиться во время работы.

Определение

Размером файла называется объем пространства, которое он занимает на жестком диске, портативном носителе или в облачном хранилище. Этот показатель напрямую зависит от количества информации, содержащейся в файле.

Единица измерения

Размер файла измеряется в байтах (Б или b), и это является самым маленьким количеством данных. Обычно папка или иной вид информации (изображение, песня, электронная книга) имеет выражение веса в килобайтах (КБ или kb). Один килобайт эквивалентен 1024 байтам.

Более крупными единицами измерения являются мегабайты (МБ или mb) и гигабайты (ГБ или gb), равные 1024 килобайтам и 1024 мегабайтам соответственно. Из используемых в повседневной работе с ПК, наибольшей единицей выражения веса файла является терабайт (ТБ или tb), который эквивалентен 1024 гигабайтам.

В этих же единицах измерения определяется все пространство памяти на ПК, различных гаджетах и портативных носителях (флеш-карта, внешний жесткий диск и т.д.). И предельное количество файлов, которое можно загрузить в устройство, зависит от количества свободного пространства.

Как определить размер файла?

1. Наведите курсор мыши на файл и щелкните по нему правой кнопкой.

Вызов контекстного меню

2. В появившемся контекстном меню выберите пункт «свойства» и щелкните на него.

3. Нужные данные можно увидеть в поле «размер».

Просмотр свойств файла

Как определить размер группы файлов?

Если требуется определить суммарный размер нескольких файлов, нужно поступить так:

1. Выделите элементы, вес которых нужно определить. Это можно сделать, щелкнув по файлу левой кнопкой мыши и растянув появившуюся рамку на все папки. При этом следует удерживать кнопку мышки. Также можно выделить элементы, кликнув по одному из них, а затем, нажав клавишу Ctrl, щелкнуть поочередно по всем остальным.

Выделение группы файлов

2. Поставить курсор на один из выделенных элементов и кликнуть по нему правой кнопке мыши.

Вызов контекстного меню над группой файлов

3. В появившемся контекстном меню выберите пункт «Свойства» и кликните по нему.

Просмотр свойств группы файлов

4. В пункте «размер» будет обобщённая информация о размере всех выбранных элементов.

Для поиска файлов большого размера с целью последующего удаления ненужных данных можно воспользоваться известной утилитой CCleaner. Кроме очистки ПК, она может отображать размер элементов. Для этого нужно выбрать пункт «Сервис» — «Анализ дисков». Впоследствии будет приведена диаграмма занимаемой памяти с подробной таблицей размера файлов различных типов.

Ограничения в размере файла при передаче

Загружая файлы или передавая их с одного носителя на другой, пользователь иногда встречается с ограничениями. Они могут быть связаны с тем, что:

  • Наблюдается недостаток места в памяти;
  • Требуется закачать файл на веб-ресурс (файлообменник или, к примеру, сайт по поиску работы), который выставил ограничения;
  • Проводится оптимизация сайта для убыстрения загрузки у пользователей с низкой скоростью передачи данных.

Как уменьшить размер файла?

Если по каким-то причинам нужно уменьшить вес файла, это можно сделать путем нехитрых манипуляций. Для каждого типа есть свой способ сжать элемент.

Документ. Если нужно быстро прикрепить или передать документ, то будет целесообразно снизить его вес. Для этого можно:

  • Сохранить в формате docx, по сравнению с doc, он занимает меньше места. Разница ощутимая. Чтобы сделать это, следует открыть документ, выбрать пункт меню «Файл», затем «Преобразовать»;
  • Корректно работать с картинками. А значит, не просто их копировать в текстовый документ, а вставлять через пункт «Вставить рисунок». Чтобы существенно уменьшить размер, следует вкладывать отредактированные картинки с меньшим весом. Также можно при сохранении воспользоваться кнопкой «Сервис» и задать единый размер для всех картинок в документе посредством пункта меню «Сжать рисунки»;
  • Много места могут занимать и шрифты, которые не установлены в ПК. Чтобы избавиться от них, следует убрать галочку в пункте меню «внедрить шрифты в файл» (путь «Файл» -> «Параметры» -> «Сохранение»).

PDF. Файл PDF является универсальным, так как определяется большинством ОС. Они безопасны, и зачастую в этом формате сохраняют сканированные документы. Но их пересылка может быть затруднительна из-за их немалого размера.

Их можно сделать чуть легче с помощью Adobe Acrobat Reader, для этого достаточно кликнуть на «Уменьшить размер файла». Для пересылки подойдет и архивация. Чтобы ощутимо уменьшить вес, можно воспользоваться онлайн-сервисами, например, Smallpdf — ресурс для автоматического сжатия файла PDF. Сайт удобен тем, что не требует никаких дополнительных манипуляций, достаточно загрузить элемент, а затем уже скачать уменьшенный аналог. Также им можно сразу же поделиться по электронной почте, загрузить в облако. Весь процесс занимает минимум времени.

Сжать PDF

PDF Creator — бесплатная утилита, способная легко конвертировать документы в данный формат, а также уменьшить размер готового файла. Чтобы сделать легче документ PDF, следует открыть его в программе, а затем нажать на «Печать» — «Свойства» — «Бумага/качество» — «Дополнительно». Здесь нужно задать для DPI более низкое значение, это уменьшит разрешение и, как следствие, размер.

Папка. Наиболее распространенный способ уменьшить размер папки с файлами — архивация. Она позволяет уменьшить вес, не теряя качества содержимого. Хороший способ хранения и передачи различных элементов.

Есть специальные программы для упаковки файлов и папок большого размера. Наиболее известные для Windows — 7-Zip (бесплатный архиватор) и WinRAR (платная программа с хорошей производительностью). Чтобы архивировать файлы на ПК с установленной утилитой достаточно кликнуть на объект правой кнопкой мыши и перейти в пункт «Добавить в архив» и выбрать логотип программы.

Этот способ экономии памяти не несет за собой потери качества изображений и иных файлов, а также позволит записать их на портативный носитель или передать через электронную почту. Чтобы получателю распаковать архив, нужно будет использовать ту же утилиту.

Фотографии. Фото и иные изображения могут иметь действительно большой размер. Для уменьшения подобных файлов формата JPG (одного из наиболее распространенных), чаще всего, используется сжатие. Сделать это можно с помощью утилит:

  • Paint и Paint.NET— стандартная программа коррекции изображения. С ее помощью можно сделать меньше разрешение, что в разы снизит вес. Для этого следует выбрать пункт меню «Изменить размер», кликнув мышкой. В появившемся окне задается более низкое значение одного из параметров. Это влечет за собой автоматическое изменение остальных параметров, в соответствии с пропорциями фото;
  • Photoshop — редактор цифровых изображений для профессионалов. Здесь, для уменьшения веса фото, с сопутствующим снижением качества следует выбрать пункт меню File, затем Save for Web. Далее откроется окошко, в котором будет представлено исходное изображение и сохраненное для веб, под каждым пишет вес.

Еще один вариант — уменьшить значения ширины или высоты в пикселях или в процентах. При этом нужно следить за соотношением значений сторон, пропорцией. Сжатое изображение теряет качество и его уже не вернуть, поэтому следует сохранять и исходную картинку.

Аудио. Формат аудиофайлов .mp3, .aac означает, что файл уже сжат. Дальнейшие манипуляции приведут к потере качества. Звуковые файлы формата .wav, .aiff можно немного отредактировать, чтобы уменьшить размер.

Для этого их можно сохранить в виде .mp3 или .flac файла, попутно следует задать меньший битрейт. Это повлечет некоторую потерю качества. К примеру, 128 Кбит/сек. — звук FM-радио, 320 Кбит/сек. — звучание диска CD. Чтобы внести подобные изменения, потребуется утилита, подойдет любой бесплатный аудиоредактор.

Видео. Касательно видеофайла ситуация аналогична: сжатие несет потерю качества, для редактирования с целью уменьшения объема занимаемой памяти потребуется видеоредактор. Подойдет и самый простой, бесплатный.

С помощью утилиты можно обрезать видео, убрать лишнее и, заодно, снизить вес. Это делается просто — отмечается участок или несколько, которые можно убрать, и вырезается. Еще один способ — конвертировать видео в более компактный формат, выбрать нужный кодек и контейнер. Наиболее экономным будет MP4 (DiVX, MPEG2 тоже могут стать оптимальным решением). Также можно повлиять на качество и разрешение видео, задать битрейт. Некоторые программы позволяют установить и вес конечного файла. Если параметры не менять кардинально, то потеря качества не будет столь ощутима, но место, занимаемое на жестком диске уменьшится.

Таким образом, узнать вес файла и уменьшить его размер достаточно просто.  Следует в соответствии с типом элемента произвести ряд соответствующих манипуляции. Это позволит легко обмениваться данными и экономить место на жестком диске, съемном носителе или в сети Интернет.

Время чтения 2 мин.

Python stat() — это встроенный модуль OS, который имеет два метода, которые возвращают размер файла. Модуль OS в Python предоставляет функции для взаимодействия с операционной системой. Он входит в стандартные служебные модули Python. Модуль os обеспечивает портативный подход к использованию функций, зависящих от операционной системы.

Содержание

  1. Получение размера файла в Python 
  2. Python os.path.getsize()
  3. Python os.stat()
  4. Python path.stat().st_mode

Чтобы получить размер файла в Python, мы можем использовать один из следующих трех способов:

  1. Python os.path.getsize()
  2. Python os.stat()
  3.  Python path.stat().st_mode.

Как получить размер файла в Python

Python os.path.getsize()

Функция os.path.getsize() возвращает размер в байтах. Вызовет OSError, если файл не существует или недоступен.

См. следующий код.

import os

file_name = «npfile.txt»

file_size = os.path.getsize(file_name)

print(f‘File Size in Bytes is {file_size}’)

print(f‘File Size in MegaBytes is {file_size /(1024 * 1024)}’)

Выход:

File Size in Bytes is 42

File Size in MegaBytes is 4.00543212890625e05

Сначала мы определили файл, а затем получили его размер с помощью функции os.path.getsize(), которая возвращает размер файла в байтах, а затем в последней строке мы преобразовали размер в байтах в размер в МБ.

Python os.stat()

Метод os.stat() в Python выполняет системный вызов stat() по указанному пути. Метод stat() используется для получения статуса указанного пути. Затем мы можем получить его атрибут st_size, чтобы получить размер файла в байтах. Метод stat() принимает в качестве аргумента имя файла и возвращает кортеж, содержащий информацию о файле.

import os

file_name = «npfile.txt»

file_stats = os.stat(file_name)

print(file_stats)

print(f‘File Size in Bytes is {file_stats.st_size}’)

print(f‘File Size in MegaBytes is {file_stats.st_size /(1024 * 1024)}’)

Выход:

os.stat_result(st_mode=33188, st_ino=75203319, st_dev=16777220,

st_nlink=1, st_uid=501, st_gid=20, st_size=42,

st_atime=1589517754, st_mtime=1589517753,

st_ctime=1589517753)

File Size in Bytes is 42

File Size in MegaBytes is 4.00543212890625e05

Из вывода вы можете видеть, что мы получили кортеж, полный информации о файле. Затем мы получили доступ к определенному свойству, называемому st_size, чтобы получить размер файла, а затем преобразовать размер в МБ или мегабайты.

Если вы внимательно посмотрите на метод stat(), мы можем передать еще два параметра: dir_fd и follow_symlinks. Однако они не реализованы для macOS.

Python path.stat().st_mode

Функция Python path.stat() возвращает объект os.stat_result, содержащий информацию об этом пути, подобно os.stat(). Результат просматривается при каждом вызове этого метода.

См. следующий код.

from pathlib import Path

file_name = «npfile.txt»

file_size = Path(file_name).stat().st_size

print(f‘File Size in Bytes is {file_size}’)

print(f‘File Size in MegaBytes is {file_size /(1024 * 1024)}’)

Выход:

File Size in Bytes is 42

File Size in MegaBytes is 4.00543212890625e05

Мы импортировали модуль pathlib и использовали Path.state().st_size для получения размера файла.

Итак, мы рассмотрели 3 метода, как узнать размер файла в Python.

Вопрос о том, как грамотно определить размер файла, может встать перед каждым пользователем. Для этого не обязательно быть программистом или системным администратором. Определение размеров документации в электронном виде – базовая операция. С ней должен познакомиться каждый ПК-пользователь.

В данной статье будет рассказано о том, как определять «габариты» файла. Предстоит разобраться не только в азах соответствующего процесса, но и в действующих единицах измерения.

Размер документа – это…

Размер файла – объем пространства, которое занимает соответствующая электронная документация на устройстве. А именно – в его памяти.

Зависит размер файла или папки от количества информации, которая находится внутри. Узнать подобные данные удается несколькими методами. Каждый пользователь ПК может выбрать оптимальное для себя решение.

Единицы измерения

Можно выразить размеры файла в байтах. Это – классическая единица измерения. Она является наименьшей единицей электронных сведений.

Основная масса материалов на компьютере измеряется в килобайтах, а не в байтах. Узнать объем документа, файла или папки предлагается при помощи МБ (мегабайтов) и ГБ (гигабайты). Современные компьютеры также работают с ТБ (терабайтами).

Здесь рекомендуется запомнить следующее:

  • 1 байт – 8 бит;
  • единица в килобайтах – это 1024 в байтах;
  • 1 Мб – 1024 Кб;
  • 1 ГБ – 1024 Мб;
  • 1 ТБ – 1024 ГБ.

Эти же единицы измерения применяются для обозначения имеющегося пространства на устройстве. Не только занятого, но и свободного.

Варианты определения

Посмотреть (узнать) объем занятого электронными материалами сведения можно различными способами. Далее будут рассмотрены такие приемы:

  • как узнать объем единственного файлика;
  • работа с группами документов;
  • сколько места занимает папка;
  • объем носителя информации.

Также предстоит выяснить, какие ограничения действуют при передаче электронных материалов и изучить методы уменьшения «габаритов» файликов.

Единственный документ

Сначала стоит выяснить, как узнать размер заданного файла. Это – элементарная операция. Определяется объем системой автоматически.

Чтобы справиться с задачей, нужно:

  1. Перейти на устройстве к файлу, с которым планируется дальнейшая работа.
  2. Выделить его. Для этого – кликнуть ЛКМ по характерной иконке.
  3. Нажать ПКМ. Откроется большое меню.
  4. Переключиться в раздел «Свойства».
  5. Во вкладке «Общее» посмотреть интересующую информацию. Она будет выражена в байтах и килобайтах. Если документация объемная – мегабайтах и гигабайтах.

Определить занятый объем на устройстве можно иначе. Для этого достаточно выделить документацию и навести на нее курсор. Немного подождать. На экране появится одно маленькое всплывающее окно – там прописываются основные сведения об интересующем компоненте в операционной системе.

Работа с папками

С тем, как определить размер файла, разобраться удалось. Остаются другие вопросы – это работа с папками и группами электронных материалов.

Чтобы определить объем занимаемого архивом данных пространства, действовать предстоит точно так же, как и в случае и одиночным файлом. Проверить достоверность можно, поместим в «портфель» очередной документ. Объем архива увеличится на соответствующее значение.

Группы

Работа с файлами и папками – базовые навыки, которыми должен обладать каждый пользователь. Можно с легкостью выяснить, какой размер имеют несколько документов. Чтобы добиться соответствующего результата, предстоит:

  1. Выделить группу файлов или папок. Можно – все вместе. Главное, чтобы под выделение попадали элементы, которые планируется оценить. Сделать это удается при помощи курсора и зажатой клавиши Ctrl на клавиатуре. Альтернативное решение – «обрисовка» границ выделения на экране ЛКМ.
  2. При выделенных компонентах щелкнуть ПКМ и перейти в «Свойства».
  3. Посмотреть в разделе «Общие» интересующие сведения.

Также можно после выделения группы элементов на устройстве навести курсор на «обозначенную» область и немного подождать. Информация появится в небольшом всплывающем окне.

Пространство на носителе

Операция, с которой тоже должен познакомиться каждый пользователь. Все носители информации имеют определенное количество свободного/занятого места. Чтобы посмотреть подобные данные, необходимо:

  1. Вставить носитель информации в компьютер.
  2. Перейти в «Мой Компьютер». Здесь уже часто отображаются интересующие сведения. Если нет – стоит перейти к следующему шагу.
  3. Выделить интересующий носитель данных курсором мыши и нажать ПКМ.
  4. Перейти в «Свойства».

Возникнет диалоговое окно, в котором находится соответствующая информация. Здесь «Емкость» — это общий размер носителя, «Занято» — общий размер файлов и папок, приложений на устройстве, «Свободно» — оставшееся пространство.

Ограничения при передаче

Иногда при переносе информации приходится сталкиваться с ограничениями по объему. Это может быть связано с:

  • недостатком памяти;
  • ограничениями системы (пример – файлообменник, не позволяющий загружать слишком больше файлы);
  • оптимизацией веб-сервиса.

На компьютерах обычно нет ограничений по размеру документов. Достаточно лишь запомнить, что объемные файлы обрабатываются медленнее.

Способы уменьшения объема

Как узнать размер файла, понятно. Иногда возникает необходимость в уменьшении занимаемого пространства соответствующим документом. Добиться такого результата можно – с потерей качества и без него.

Чтобы «сжать» элементы в операционной системе предлагается использовать:

  1. Архивирование. Пример – перевод в zip и rar.
  2. Переходы к «старым форматам». Так docx занимает больше места, чем doc.
  3. Грамотное использование графических документов. Их предварительно сжимают перед вставкой в файл или выкладыванием на сайт.
  4. Перевод в другой формат. Данный процесс называется конвертированием. Часто приводит к потере качества.

Если речь идет о хранении видео, стоит отдать предпочтение MP4, а для аудио – MP3.

Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!

Содержание

  • 1 Единицы измерения размера файла
  • 2 Как определить размер файла или папки
  • 3 Как определить суммарный размер нескольких файлов и папок
  • 4 Как определить размер пространства диска или флешки
  • 5 Байты, килобайты, мегабайты, гигабайты
  • 6 Любопытным: почему 1024, а не 1000, это же неудобно!
  • 7 Как узнать, сколько весит файл или папка?

razmer_faylaanons.png11.12.2013 г.В статье подробно описан порядок определения размера файлов и папок, а также объема свободного и занятого пространства запоминающих устройств.

Содержание:

• В каких единицах измеряется размер файла; • Как узнать размер файла или папки; • Как определить суммарный размер нескольких файлов или папок; • Как узнать размер пространства диска или флешки.

Единицы измерения размера файла

В одной из наших предыдущих статей мы уже говорили о том, что каждый файл или папка имеет определенный размер, который автоматически определяется компьютером в зависимости от их содержания. Размер файла зависит от количества информации, которую он содержит. Размер папки равен сумме размеров находящихся в ней файлов.Количество информации, а соответственно и размер файла, измеряется в специальных единицах, называемых байтами (сокращенно обозначается латинской буквой b или русской Б). Байт – это очень маленькое количество информации. На практике чаще встречаются более крупные единицы, а именно: — килобайт (равен 1024 байтам, сокращенно – kb или КБ); — мегабайт (равен 1024 килобайтам, сокращенно – mb или МБ); — гигабайт (равен 1024 мегабайтам, сокращенно – gb или ГБ); — терабайт (равен 1024 гигабайтам, сокращенно – tb или ТБ). Есть и еще более крупные единицы, но они в повседневной жизни встречаются редко.Все запоминающие устройства (постоянные запоминающие устройства компьютеров, портативные носители типа флешек и др.) имеют определенное пространство. Оно не безгранично и также измеряется в байтах. Например, если говорят, что размер носителя составляет 4 gb, это значит, что на нем одновременно могут находиться файлы и папки, суммарный размер которых не превышает 4 gb.

Как определить размер файла или папки

Чтобы узнать размер файла или папки необходимо щелкнуть по нему правой кнопкой мышки и в открывшемся контекстном меню выбрать пункт «Свойства». Откроется окно «Свойства…», в котором и будет отображена необходимая информация. razmer_fayla1.pngЧтобы овладеть навыком определения размера файла и понять, как все работает, предлагаю поупражняться. Создайте на рабочем столе текстовый файл, внесите в него какие-то данные (одно или несколько слов) и сохраните. Откройте окно «Свойства…» этого файла указанным выше способом. В поле «Размер» будет отображаться размер этого файла (см. изображение, для увеличения щелкните по нему левой кнопкой мышки). На рисунке видно, что размер созданного автором статьи файла составляет 12,3 kb (или 12675 байт). В Вашем случае, естественно, размеры будут другими.Если создать папку и поместить в нее файл, то можно убедиться, что размер такой папки будет равен размеру находящегося в ней файла. Указанным выше способом можно узнать размер любого файла или папки.

Как определить суммарный размер нескольких файлов и папок

Чтобы определить суммарный размер нескольких файлов и папок, можно указанным выше способом узнать размер каждого из них и затем сложить все полученные числа. В то же время, такой способ будет связан с большими затратами времени, особенно, если речь идет о значительном числе файлов.Операционная система Windows позволяет решать подобные задачи значительно проще. Но для этого необходимо овладеть навыком выделения нескольких файлов и папок. Самый простой способ выделить какой-нибудь файл или папку – один раз щелкнуть по нему левой кнопкой мышки. razmer_fayla3.pngОткройте любую имеющуюся на компьютере папку с файлами и выделите один из них указанным способом. После щелчка мышки вокруг значка выделенного файла появится специальная рамка (см. изображение). Если щелкнуть по другому файлу – рамка выделения перейдет на него, а выделение с предыдущего файла автоматически снимется. Чтобы выделение с предыдущего файла не снималось, на клавиатуре нужно постоянно удерживать нажатой кнопку «Ctrl». То есть, чтобы выделить несколько файлов и (или) папок, необходимо нажать на клавиатуре кнопку «Ctrl», и, не отпуская ее, поочередно один раз щелкнуть левой кнопкой мышки по каждому из них. Кнопку «Ctrl» следует отпускать, когда все необходимые файлы и папку будут выделены. Чтобы овладеть навыком выделения нескольких файлов необходимо немного попрактиковаться, что я вам и рекомендую сделать. Подробнее основные операциях с файлами, которые можно осуществить при помощи мышки, рассмотрены в этой нашей статье.

А для того, чтобы быстро узнать суммарный размер нескольких файлов (папок), необходимо выделить их указанным выше способом, после чего щелкнуть по любому из них правой кнопкой мышки и в открывшемся контекстном меню выбрать пункт «свойства». Откроется окно, в котором будет отображаться уже обобщенная информация (см.изображение ниже).

razmer_fayla4.pngНа рисунке видно, что общий размер выделенных 2 файлов и 1 папки составляет 24,7 килобайт (или 25350 байт).

Как определить размер пространства диска или флешки

Если речь идет о съемном устройстве (флешка, портативный жесткий диск и т.д.), его необходимо сначала подключить к компьютеру. Затем нужно открыть раздел «Компьютер» (дважды щелкнуть левой кнопкой мышки по соответствующему значку на рабочем столе), щелкнуть правой кнопкой мышки по значку этого запоминающего устройства и выбрать пункт «Свойства». Откроется окно, в котором об этом устройстве будет отображена вся необходимая информация (см. изображение): razmer_fayla2.pngЕмкость – общий размер запоминающего устройства (в байтах); Занято – какая часть общего размера устройства уже занята (в байтах); Свободно – сколько байт свободного пространства осталось на запоминающем устройстве. На примере видно, что локальный диск компьютера имеет: — общий объем 191 гигабайт (что равно 205534017024 байтам, или 200716813,5 килобайтам, или 196012,5 мегабайтам); — из этих 191 gb занято 58,6 gb (что равно 62985564160 байтам, или 61509340 килобайтам, или 60067,7 мегабайтам); — остальное пространство свободно – 132 гигабайта (что равно 142534017024 байтам, или 139193376 килобайтам, или 135931 мегабайтам).Пользователь, произведя не сложные математические расчеты, всегда может определить, сколько и каких файлов и папок можно сохранить на носителе.Например, на рассмотренном выше в качестве примера носителе можно сохранить любое количество файлов и папок, если их суммарный размер не будет превышать 132 гигабайта. Если этот носитель полностью очистить (стереть все уже находящиеся на нем файлы), то на нем можно будет сохранить 191 гигабайт файлов и папок. Главная → Программы для новичков → Компьютер с нуля

Слон весит 5 тонн, компота в чашке — 250 мл,  расстояние от Москвы до Питера — 705 км, это просто и понятно. А как же измерить файл, на весы его не положить, воды не в него не налить, а измерять линейкой информацию бессмысленно.

Байты, килобайты, мегабайты, гигабайты

Начнем с того, что все файлы занимают определенное место на жестком диске компьютера, значит имеют какой-то объем или размер. Этот размер определяется специальными единицами измерения — байтами, килобайтами, мегабайтами, гигабайтами, терабайтами и т.д. То есть все-таки имеют какой-то «вес».

Так же, как 1000 грамм складывается в килограмм, 100 килограмм в центнер, а 10 центнеров в тонну, так же байты в килобайты, а те в мегабайты и далее.

Самая маленькая единица измерения — 1 бит, но он настолько мал, что им ничего не измеряют, 8 бит составляют 1 байт — основную единицу хранения и обработки цифровой информации.

1 Килобайт (Кб) = 1024 байта

1 Мегабайт (Мб) = 1024 кб (килобайта)

1 Гигабайт (Гб) = 1024 мб (мегабайта)

1 Терабайт (Тб)  =  1024 Гб (гигабайта)

Обычный файл песни, записанный в формате .mp3 весит 3,5 мб. Полуторачасовой фильм не очень хорошего качества весит 700мб

Любопытным: почему 1024, а не 1000, это же неудобно!

Это нам неудобно, а компьютеру очень даже. Дело в том, что он работает на основе двоичной системы, то есть такой, в которой используется всего две цифры — 1 и 0, потому что с технической стороны это проще (в реальной жизни мы используем 10 цифр- 0,1,2,3,4,5,6,7,8,9 у нас десятичная система, а компьютер использует 2 цифры, поэтому и двоичная). А раз компьютер оперирует только двумя цифрами, то двойка является основанием двоичной системы (так же как у десятичной системы основание 10). Не будем заходить в дебри информатики и математические правила, остановимся лишь на том, что при переводе из двоичной системы, в привычную нам десятичную, двойка возводится в определенную степень.  Так килобайт является двойкой, возведенной в десятую степень, а 210=1024, а не 1000, поэтому измерение идет именно по таким показателям.

Как узнать, сколько весит файл или папка?

Чтоб узнать сколько весит папка или файл, можно просто навести на него курсор и подождать секунду-две, пока не выплывет окошко с информацией:

вес-папки.jpg

Если же такого не происходит или указывается неточное значение (например, «более, чем 12 Гб»), то необходимо нажать ПКМ на папку или файл и в появившемся окне выбрать последний пункт — свойства. Появится еще одно окно, на вкладке «Общие» будет указан размер файла или папки:

свойства-папки.jpg

Итак, большие по «весу» файлы и папки измеряются гигабайтами, средние — мегабайтами, а маленькие файлы, например, текстовые документы — килобайтами.

Рубрики:Компьютер с нуля

В Версия для слабовидящих

</td></tr>

В 

<pspan>Цель: Сформировать знания о кодировании видео информации и умение измерять видео информацию.

<font>Теоретическая часть.</font>

Если рассматриватьВ видеоинформациюВ как последовательность изображений, появляющихся на экране с определенной частотойВ  (частотой кадров в секунду) то можно понять, что видео может быть закодировано подобно тому, как кодируются растровые изображения (с той разницей, что этих изображений много). Такой способ используется в форматеВ *.AVIВ (несжатое видео) — высокое качество и огромные размеры файлов. Существуют способы сжатия видеоинформации путем преобразования файла в другие форматы.

Информационный объём видео информации

video2.png

</span>

Задача 2. Какой объем будет иметь видео передаваемое с разрешением кадра 800 х 600 пикселей с 24 битовой глубиной цвета, скоростью воспроизведения 24 кадра в секунду и длительностью 5 минут. Известно, что стерео звук, наложенный на видео имеет 256В  уровней громкости, частота дискретизации равна 11250 Гц.

В zadacha13.png

<font>Практическая часть</font>

</pspan>

<font>По окончании работы, нажмите кнопку Ответить, проверьте результаты своей работы. При наличии времени, исправьте ошибки. </font>

<font>В форму обратной связи введите свою Фамилию Имя, № группы,В адрес электронной почты и перешлите результат выполнения практической работы преподавателю.</font>

</td>

pvapvapv.png

</td></tr>

</td></tr>Используемые источники:

  • https://www.chaynikam.info/razmer_fayla.html
  • https://prosto-ponyatno.ru/komp-uroki-novichkam/razmer-fajlov-i-papok-chto-takoe-bajt-kb-mb-gb/
  • https://lebedevann.tesigoh29.ru/p55aa1.html

</tbody>

Как оказалось, узнать размер файла в языке C — совсем нетривиальная задача. В процессе её решения как минимум вы обязательно столкнетесь с переполнением целочисленного типа данных. В данной статье я приведу 4 способа получения размера файла с использованием функций из стандартной библиотеки C, функций из библиотеки POSIX и функций из библиотек Windows.
Способ 1: решение «в лоб» (скомпилируется везде, но работает очень долго)
Мы просто откроем файл в бинарном режиме и в цикле считаем из него байт за байтом.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

#include <stdio.h>

#include <stdlib.h>

#include <stdint.h> // для int64_t

#include <inttypes.h> // для правильного вывода int64_t в printf

int64_t getFileSize(const char* file_name){

int64_t _file_size = 0;

FILE* fd = fopen(file_name, «rb»);

if(fd == NULL){

_file_size = 1;

}

else{

while(getc(fd) != EOF)

_file_size++;

fclose(fd);

}

return _file_size;

}

#define FILE_PATH «some_file.txt»

int main(){

int64_t file_size = getFileSize(FILE_PATH);

printf(«File size: %» PRId64 «n», file_size);

return 0;

}

Очевидным недостатком способа является скорость работы. Если у нас файл будет на много гигабайт, то только размер файла будет считаться относительно долго (это сколько байт то надо считать?), а надо же еще остальную программу выполнять.
Достоинство такого способа — работать должен на любой платформе. Ну и конечно можно ускорить процесс за счет считывания бОльшего количества байт.

Способ 2: с использованием функций fseek и ftell (ограничен для объемных файлов и работает не всегда верно)

Данный способ основан на использовании функций стандартной библиотеки C: fseek и ftell. Что происходит — открываем файл в бинарном режиме, перемещаем внутренний указатель положения в файле сразу в конец с помощью fseek, получаем номер последнего байта с помощью ftell.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

#include <stdio.h>

#include <stdlib.h>

#include <stdint.h> // для int64_t

#include <inttypes.h> // для правильного вывода int64_t в printf

int64_t getFileSize(const char* file_name){

int64_t _file_size = 0;

FILE* fd = fopen(file_name, «rb»);

if(fd == NULL){

_file_size = 1;

}

else{

fseek(fd, 0, SEEK_END);

_file_size = ftello(fd);

fclose(fd);

}

return _file_size;

}

#define FILE_PATH «some_file.txt»

int main(){

int64_t file_size = getFileSize(FILE_PATH);

printf(«File size: %» PRId64 «n», file_size);

return 0;

}

Проблем у данного способа несколько.
Первое — это возвращаемый тип функции ftell. У разных компиляторов на разных платформах по разному. Если у вас 32х битная система, то данный способ будет работать только для файлов, размером меньше 2048 Мб, поскольку максимальное значение для возвращаемого функцией типа long там будет 2147483647. На системах с большей разрядностью будет работать лучше, из-за большего значения максимума для long. Но подобная нестабильность будет мешать. Хотя у меня на 64х битой системе на компиляторе gcc данный способ для файлов больше 8 Гб выводил некорректные значения.
Второе — гарантированность работы fseek и ftell. Коротко говоря, на разных платформах работает по-разному. Где то будет точно возвращать значение положения последнего байта, где то будет возвращать неверное значение. То есть точность данного способа негарантированна.

Плюсом является то, что эти функции из стандартной библиотеки — скомпилируется почти везде.

Стоит сказать, что хитрые инженеры из Microsoft придумали функции _fseeki64 и _ftelli64, которые, как понятно из их названия, работают с int64, что решает проблему с размером файла в MSVC под Windows.

Способ 3: (под Linux (POSIX))

Данный способ основан на использовании системном вызове fstat с использованием специальной структуры struct stat. Как работает: открываем файл через open() или fopen(), вызываем fstat для дескриптора файла (если открыли через fopen, то в fstat надо положить результат fileno от указателя потока FILE), указав на буферную структуру для результатов, и получаем значения поля буферной структуры st_size.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

#include <stdio.h>

#include <stdlib.h>

#include <stdint.h> // для int64_t

#include <inttypes.h> // для правильного вывода int64_t в printf

#ifdef __linux__

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

#include <unistd.h>

#endif

int64_t getFileSize(const char* file_name){

int64_t _file_size = 0;

struct stat _fileStatbuff;

int fd = open(file_name, O_RDONLY);

if(fd == 1){

_file_size = 1;

}

else{

if ((fstat(fd, &_fileStatbuff) != 0) || (!S_ISREG(_fileStatbuff.st_mode))) {

_file_size = 1;

}

else{

_file_size = _fileStatbuff.st_size;

}

close(fd);

}

return _file_size;

}

#define FILE_PATH «some_file.txt»

int main(){

int64_t file_size = getFileSize(FILE_PATH);

printf(«File size: %» PRId64 «n», file_size);

return 0;

}

Гарантированно работает под Linux. Тип поля st_size будет как знаковый int64. Под Windows с использованием Mingw также можно использовать такой способ (с fopen и fileno), но я точно не знаю как там обстоят дела с типом поля структуры st_size.

Способ 4: (под Windows (начиная с Windows XP)):

Еще один способ конкретно под системы Windows с помощью функции GetFileSizeEx, которая доступна в системах, начиная с Windows XP. Для систем постарее используйте GetFileSize (но там снова проблема с максимальным размером файла из-за типа данных).

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

#include <stdio.h>

#include <stdlib.h>

#include <stdint.h> // для int64_t

#include <inttypes.h> // для правильного вывода int64_t в printf

#ifdef _WIN32

// без этих двух строк не скомпилируется

// при использовании функции GetFileSizeEx()

#define WINVER 0x0501

#define _WIN32_WINNT WINVER

#include <windows.h>

#include <sysstat.h>

#endif

int64_t getFileSize(const char* file_name){

int64_t _file_size = 0;

HANDLE hFile;

hFile = CreateFile(TEXT(file_name), GENERIC_READ, 0, NULL, OPEN_EXISTING,

FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);

if(hFile == INVALID_HANDLE_VALUE){

_file_size = 1;

}

else{

LARGE_INTEGER u_winFsz;

GetFileSizeEx(hFile, &u_winFsz);

CloseHandle(hFile);

_file_size = u_winFsz.QuadPart;

}

return _file_size;

}

#define FILE_PATH «some_file.txt»

int main(){

int64_t file_size = getFileSize(FILE_PATH);

printf(«File size: %» PRId64 «n», file_size);

return 0;

}

GetFileSizeEx гарантированно работает под Windows. Не работает больше нигде. Тип под размер файла: LONGLONG, который равен размеру знаковому int64. То есть узнаем размер для файлов с максимум 9223372036854775807 байт (до 8589934592 Гб).

Выводы: лучше использовать платформозависимые способы, которые под конкретную систему выдаст гарантированный корректный результат, а не изобретать велосипеды.

Свои варианты оставляйте в комментариях, будет интересно посмотреть!

Понравилась статья? Поделить с друзьями:
  • Как можно найти подработки в москве
  • Как найти пацанки с цензурой
  • Одышка как исправить
  • Как составить актуальность дипломной работы
  • Покраснел экран телевизора как исправить