Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как узнать размер файла? 
V
    Опции темы
NilovSerge
Дата 6.5.2008, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 6.10.2007

Репутация: нет
Всего: нет



Всем привет!
  А как узнать размер файла? В классе File ничего подобного я не нашел...
Можно сделать наподобе:
  
Код

File.ReadAllBytes(FileName).Length

 - но если файл большой - то он долго работает

Пробую так :
Код

        FileStream fs = new FileStream(FileName, FileMode.Open);
        long L = fs.Length;
        fs.Close();
        return L;

и fs.Length постоянно возвращает 0 на ненулевых файлах smile 
    Есть каки-то другие методы?

              Заранее спасибо...
PM MAIL   Вверх
vponomarov
Дата 6.5.2008, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 2
Всего: 12



NilovSerge, попробуй так:
Код

System.IO.FileInfo f = new System.IO.FileInfo(FileName);
return f.Length;



--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
DZeus
Дата 6.5.2008, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 20.3.2008

Репутация: нет
Всего: нет



Код

DirectoryInfo srcDifInfo = new DirectoryInfo(srcCatalog);
FileInfo[] file = srcDifInfo.GetFiles("somefile.txt");
return file.Length;


Код

using System.IO;


не забудь...
PM MAIL   Вверх
vponomarov
Дата 6.5.2008, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 2
Всего: 12



DZeus, твой код возвращает количество файлов в указаном каталоге smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
DZeus
Дата 6.5.2008, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 20.3.2008

Репутация: нет
Всего: нет



Цитата(vponomarov @  6.5.2008,  14:56 Найти цитируемый пост)
DZeus, твой код возвращает количество файлов в указаном каталоге smile  


А так?  smile 

Код

DirectoryInfo srcDifInfo = new DirectoryInfo(srcCatalog);
FileInfo[] file = srcDifInfo.GetFiles("somefile.txt");
for(int fileCount = 0; fileCount < file.Length; fileCount++)
{
     return file[fileCount].Length;
}


PM MAIL   Вверх
vponomarov
Дата 6.5.2008, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 2
Всего: 12



Цитата(DZeus @  6.5.2008,  20:34 Найти цитируемый пост)
А так?   

так работать конечно будет smile 
вот только смысла в коде не много, ты уж извени smile 
во-первых, GetFiles вернет максимум одно значение, так что как минимум стоит писать
Код

DirectoryInfo srcDifInfo = new DirectoryInfo(srcCatalog);
FileInfo[] file = srcDifInfo.GetFiles("somefile.txt");
if (file.Length>0)
     return file[fileCount].Length;

во-вторых, на первой же итерации return прервет цикл и завершит метод, так что цикл безсмысленный получился smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
DZeus
Дата 7.5.2008, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 20.3.2008

Репутация: нет
Всего: нет



 smile 
да и фиг с ним, с циклом smile , это я просто не подумавши кусок кода вытащил из своего проекта, три раза по клавишам вдарил и решил что так должно работать, а если что разберётся... =)

Наперёд буду поосторожнее =)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0504 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.