Полнометражные мелодии на iPhone О достигнутом
Фев 24

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если этот блог нравится Вам настолько, что Вы хотели бы перечислить его автору денег, просто сделайте это, нажав на кнопку Donate:

Спасибо в любом случае. :)

Связанные записи

метки: , , , ,

оценка:
НеинтересноИнтересно - рейтинг: +3, голосов: 3

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

  1. cyberogen

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

  2. admin

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

  3. alfsoft

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

  4. admin

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

  5. iDallas

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

  6. Timmy

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

  7. admin

    2 Timmy

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

  8. Timmy

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

  9. Аноним

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

  10. drEW

    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 :)

  11. drEW

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

  12. Tim

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

  13. mendizabal

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

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

  14. Andrey

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

  15. Dmitriy

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

  16. Ricky

    cushman@examinations.faust” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

Написать отзыв

Подписаться именем или OpenID