Форум: "Основная";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
ВнизУзнать размер файла, если известен путь к нему Найти похожие ветки
← →
_Sergey_ (2005-11-18 17:37) [0]Как можно узнать размер файла, если известен путь к нему, желательно без открытия и без использования FindFirst, findNext и т.д.
← →
Leonid Troyanovsky © (2005-11-18 17:46) [1]
> _Sergey_ (18.11.05 17:37)
> Как можно узнать размер файла, если известен путь к нему,
> желательно без открытия и без использования FindFirst,
> findNext и т.д.
Сие (желательно) невозможно.
А чем оно огорчает?
--
Regards, LVT.
← →
Romkin © (2005-11-18 17:54) [2]GetFileAttributesEx
← →
gdaujk © (2005-11-19 04:10) [3]Почему бы не WinAPI GetFileSize?
← →
begin...end © (2005-11-19 08:50) [4]> gdaujk © (19.11.05 04:10) [3]
Тут потребуется вначале открыть файл. Автор сразу сказал, что ему это не подходит.
← →
gdaujk © (2005-11-19 14:57) [5]Точно, надо открывать :-) Поспешишь - людей насмешишь... А в чём собственно проблема? В открытии?
PS: А как можно узнать, сколько денег в кошельке, желательно не открывая его?
← →
Anatoly Podgoretsky © (2005-11-19 16:17) [6]Можно узнать, но он отказался сразу.
А открытие не всегда возможно.
← →
Romkin © (2005-11-19 16:32) [7]Anatoly Podgoretsky © (19.11.05 16:17) По-моему, невозможно только когда файла нет или он эксклюзивно захвачен чем-нить. Причем я не уверен, что в этих случаях можно сделать хоть что-то
← →
Джо © (2005-11-19 16:34) [8]
> [7] Romkin © (19.11.05 16:32)
Ну, например размер pagefile можно получить не открывая самого файла. Из структуры WIN32_FIND_DATA посредством FindFirst/FindNext.
← →
TStas © (2005-11-19 16:50) [9]Я через FindFirst... узнавал размер экзешника. Еще TFileStream есть
← →
_Sergey_ (2005-11-19 16:52) [10]А как размер файла узнает винда, если вызвать свойства файла? Вот мне что-то типа того и надо, причем желательно не фактический размер файла, а то, сколько он занимает на диске (с учетом размера кластера и т.д.)
З.Ы. А если выделить папку с несколькими тысячами файлов и нажать свойства, то разве все файлы открываются и посредством этого узнается размер? Или я что-то не так понял?
← →
Anatoly Podgoretsky © (2005-11-19 17:21) [11]Romkin © (19.11.05 16:32) [7]
Например отсутствие прав на открытие. А сделать можно, но он категорически отказался. Для получения размера сущестуют только два базовых способа - или чтение информации из каталога или открытие файла и перемещение в конец. Все функции крутятся вокруг этих методов. От обоих он отказался и этим загнал себя в угол.
← →
Fay © (2005-11-20 04:19) [12]2 Anatoly Podgoretsky © (19.11.05 17:21) [11]
>> открытие файла и перемещение в конец
Зачем?!
← →
Anatoly Podgoretsky © (2005-11-20 11:52) [13]Fay © (20.11.05 04:19) [12]
Так получают размер все эти функции, прямо или косвенно, остальные используют функции FindFirst, то есть чтение каталога, при том не важно с открытием файла или нет. Просто других логических путей нет.
Автор отказался от обеих методов.
← →
_Sergey_ (2005-11-20 14:50) [14]Все сделал через FindFirst, просто передал в качестве пути имя файла, и все заработало. Но определяется фактический размер в байтах, а нужен размер с учетом кластера. Как можно узнать размер кластера?
← →
Anatoly Podgoretsky © (2005-11-20 16:19) [15]GetDiskFreeSpace
← →
Плохиш © (2005-11-20 19:00) [16]
> _Sergey_ (18.11.05 17:37)
> Как можно узнать размер файла, если известен путь к нему,
> желательно без открытия и без использования FindFirst,
> findNext и т.д.
> _Sergey_ (20.11.05 14:50) [14]
> Все сделал через FindFirst
Хм, за кого нас тут держат? :-|
← →
Джо © (2005-11-20 19:21) [17]
> [16] Плохиш © (20.11.05 19:00)
> Хм, за кого нас тут держат? :-|
Это было ясно с самого начала.
← →
Defunct © (2005-11-20 19:58) [18]_Sergey_ (20.11.05 14:50) [14]
"Округлить" в большую сторону до кратности объему кластера.
← →
homm © (2005-11-20 21:08) [19]
> "Округлить" в большую сторону до кратности объему кластера.
Файл может быть еще сжат.
← →
Fay © (2005-11-21 01:54) [20]2 homm © (20.11.05 21:08) [19]
GetCompressedFileSize
(NT)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.015 c