Я пытаюсь выяснить, как преобразовать размер байта файла (или каталога) в килобайты, мегабайты, гигабайты и т. Д. Соответственно в соответствии с размером файла или каталога, так что это соответствует тому, что Finder отображается на панели при нажатии «Получить информацию».Размер файла в Snow Leopard
Размер байта. Я получаю полностью совпадающий размер байта, как сообщается в Finder, но я не могу понять, как получить размер файла (как показано Finder в KB, MB, GB и т. Д.) Для соответствия.
Я знаю, что в 10.6 мы используем базу 10, поэтому килобайт составляет 1000 байт, а не 1024, но деление количества байтов на 1000 (или 1000^2, 1000^3 и т. Д.) Не соответствует тому, что сообщает Finder ,
Например, в Finder: текстовый файл в 330 байтов отображается как файл размером 4 КБ (поэтому первоначальное предположение было бы округлять все размеры файлов до 4 Кбайт), но 389,022-байтный каталог отображается как 418 КБ (путь больше, чем округление до 4 КБ, поэтому я думаю, что это неправильно). Также файл размером 1,315,291,136 байт отображается как 1,33 ГБ.
Так может ли кто-нибудь быть таким добрым, чтобы пролить свет здесь? Как рассчитываются эти цифры? Я посмотрел вокруг и не смог найти ответ.
Заранее благодарим за вашу помощь!
P.S. Я всегда был на 100% ориентирован на какао, так как я начал программировать, и я никогда раньше не использовал каркас Carbon (я знаю, что он очень мощный, я просто не знаю, как его использовать). Я упоминаю об этом на всякий случай, если кто-то захочет дать мне решение Carbon, предполагая, что я знаю, как его использовать. Я не.
Хотя довольно маловероятно, в большинстве случаев, вы, вероятно, хотите добавить ', если (multiplyFactor> ([лексемы Count] -1)) {вернуться @» Huge! ";}' Перед этим окончательным оператором return.В противном случае, если файл очень большой (или число, которое вы преобразовываете, неверно), возникает исключение «индекс за пределами границ». – Mason