Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.18;
Скачать: CL | DM;

Вниз

Узнать размер файла, если известен путь к нему   Найти похожие ветки 

 
_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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.042 c
8-1121685750
race1
2005-07-18 15:22
2005.12.18
Вывод картинки с полупрозрачностью


14-1132443313
default
2005-11-20 02:35
2005.12.18
Турнир по шашкам! Кто за?


14-1133255756
КаПиБаРа
2005-11-29 12:15
2005.12.18
Вы Леви читали? Как вам его книги?


14-1133170953
Gefest80
2005-11-28 12:42
2005.12.18
Indy


9-1122150518
Иггорь
2005-07-24 00:28
2005.12.18
Как сделать точный таймер?