Странные трюки с размером файла в Finder

Случайно заметил одну странную особенность системы Mac OS X Leopard (увы, не знаю, как с этим обстоит дело у Tiger) связанную с отображением размера файла в Finder. Ошибка эта относится исключительно к Finder,

Чтобы показать, в чём заключается эта особенность, нам потребуется тестовый каталог с любым файлом в нём. Я создал директорию с именем test и поместил в неё пустой текстовый файл test.txt, но это может быть и изображение, или файл какого-то другого типа.

Пустой текстовый файл в Finder

И вот тут-то начинаются интересности.

Вызываем свойства пустого файла (⌘+I) и смотрим, что нам показывают:

Пустой текстовый файл в Finder (Свойства)

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

Назначение файлу другого приложения

Но если мы передумали, и решили снова выставить приложением для данного файла TextEdit.app, то размер снова меняется, но вовсе не на предыдущее значение, как можно было бы предположить:

Назначение файлу приложения по умолчанию

В то же самое время, просмотр данного каталога в других приложениях (например, в Терминале) выводит правильный размер для этого файла:

Листинг директории в Terminal.app

С чем связано такое поведение Finder мне непонятно. Я поискал информацию в сети, но не нашёл даже упоминания подобной проблемы кем-либо ещё: то-ли никто не обращал на это внимания, то ли я плохо искал. Ситуация была воссоздана на 2-х разных машинах под управлением Mac OS X Leopard, так что грешить на особенности какой-то одной системы, подпорченной каким-то программным обеспечением сложно.

Был бы признателен, если бы кто-то из читателей попробовал воссоздать приведённую ситуацию на Tiger и сообщил о результатах в комментариях к этой статье.

Комментарии 15

  • Абсолютно аналогичная ситуация. Созадю файл – 0кб, выбираю Safari – 52кб, возвращаю обратно на TextEdit – 44кб. 🙂 Очень интересная особенность:)

  • Это Вы про Tiger написали?
    Постараюсь в ближайшее время узнать, с чем связано такое поведение Finder, о результатах (если таковые будут) напишу отдельно.

  • Мое мнение – метаинформация о файле (чем открывать именно этот файл) приплюсовывается к размеру самого файла. Вроде бы она хранится в скрытом файле в одной папке с исходным файлом.
    Просто предположение.

  • Подобное предположение мне тоже пришло в голову, когда я заметил эти необъяснимые изменения размера. Но эта идея кажется мне несколько нелогичной: дело в том, что в Mac OS X (да и в других системах) достаточно скрытых файлов с данными, и выводить некорректную информацию о размере файла, в то время, как её можно спрятать в имеющиеся везде контейнеры мета-информации не совсем верно. Вероятно, что это просто баг, который по невнимательности пропустили в систему.

  • Не так двано играл с папками. Создавал папку, открывал инфо другой и начинал копипастить. До смны вида, папка, как и пологается вешала “зироу” килобайт. После смены, обновленный вид папки дал о себе знать в виду пустй паки размером 120 килобайт. Возможно, что там “подобная” система с метаданными. Хотя, если честно, менять размер файла в зависимости от ассоциативности не есть хорошо.

  • У меня еще немного другая проблема, связанная с отображением размера папок. Сейчас точно описать не могу, т.к. пишу с работы, тут у нас Виндоус. Но смысл такой: когда просматриваешь папку в которой лежать просто файлы и еще папки то размер вложеных папок не вычисляется. Прочерки стоят. Нажимаю правой кнопкой, вхожу в параметры вида и там ставлю галочку – Вычислять все размеры (или чтото типа того) и жму применить как стандартные. Все высчитывается. Но после перезагрузки, когдато ее всетки приходятся сделать, этот праметр сбрасывается. И если опять зайти в настройки вида – галочки там нет, и что еще более забавно – стоят у верхнего и нижнего параметра. Подскажите что делать

  • 2 Timmy

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

  • Спасибо за ответ!

  • Cуть сего проста как круг в квадрате: “Для мак юзера все должно быть просто и не заметно!” – от сюда следует, что файлы .myme.types, .Ds_Store и т.д. , которые сохраняют метаинформацию о файле (чем и как его открывать ит.п.) просто по размеру плюсуются к самому файлу, и при копировании файла, эти файли копируються вместе с ним, или обьеденяются с информацией аналогичных файлов адресной директории (директории, куда копируется ваш файл), посему, для сохранения верной суммы, (Розмер папки должен ровнятся розмеру всех файлов в ней), размер невидимых файлов плюсуется к видемому виртуально.

  • 1. Создайте пустой файл test.txt.
    1.1. Зархивируйте стандартной функцией Finder->File->Compress.
    1.2. Переименуйте архив в test.txt.0.zip.
    2. Смените приложение и зархивируйте в test.txt.1.zip.
    3. Верните TextEdit и зархивируйте в test.txt.2.zip.
    Посмотрите содержимое архивов архиватором, который “видит” метафайлы. Или просто откройте архив не в MacOS.
    В папке __MACOSX – найдете “виновника”: .test.txt
    По умолчанию метафайл содержит только заголовок и система его игнорирует.
    Размер не сбрасывается после восстановления приложения по умолчанию, потому что система просто кэширует информацию.
    С одной стороны, пользователя интересует информация о контенте. С другой, при копировании средствами Finder, будет скопировано не 0 байт. 200 байт заголовка, вероятно, предпочитают списывать на оверлоад файловой системы.
    По уму то, надо было бы опцию сделать или отдельную колонку. Но, вероятно, по мнению Apple, это излишне нагрузит интерфейс.
    Если такие опции и делаются, то не документируются. За счёт этого живут многочисленные сборники machints 🙂

  • ЗЫ.
    По сути .test.txt не отдельный файл, а HFS stream, часть объекта HFS+.
    nix команды, типа ls, ничего не знают о HFS+, поэтому возвращают “чистый” размер файла, без потоков. Соответственно вывод в терминале, mucommander, midnight commander и т.п. показывают “правильный” размер.

  • метаинформация храниться не в отдельном файле, а в том, который используете то есть в test.txt

  • Самое точное предположение у alfsoft.

    Ничего удивительного, это особенности HFS.

  • В Lion 10.7 ситуация не изменилась

  • Я столкнулся с не менее интересной ситуацией:
    Дан файл в формате rtf, размер 57Кб В файле находится информация не только с обычными символами но и с ascII. Word 2011 отказался воспроизводить данные символы, заменив их Х Зашел через TextEdit, далее Файл – Параметры страницы – Ок и закрыл TextEdit Размер файла стал равен 51 Кб и о чудо, Word корректно отобразил все символы ascII Остается загадкой, что же в итоге произошло…

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Adblock detector