Получение размера файла

      В этой инструкции будет описано как получить размер выбранного вами файла через класс «OpenFileDialog», реализующего открытие диалогового окна для выбора файла.       Создайте проект Windows Form в Microsoft Visual Studio. Добавьте компонент «Button» на форму и сделайте двойной клик левой клавишей мыши по нему. Вы перейдете в автоматически созданный метод «button1_Click». Добавьте в него следующий листинг, в котором прописан вызов открытия диалогового окна для выбора файла с помощью класса «OpenFileDialog».
var ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
    MessageBox.Show(GetFileSize(new System.IO.FileInfo(ofd.FileName)));              
}
Так же добавьте ниже приведенный метод «конвертер» для перевода размера файла в нормальный вид:
public string GetFileSize(System.IO.FileInfo file)
{
    try
    {               
        double sizeinbytes = file.Length;
        double sizeinkbytes = Math.Round((sizeinbytes / 1024));
        double sizeinmbytes = Math.Round((sizeinkbytes / 1024));
        double sizeingbytes = Math.Round((sizeinmbytes / 1024));
        if (sizeingbytes > 1)
            return string.Format("{0} GB", sizeingbytes); //размер в гигабайтах
        else if (sizeinmbytes > 1)
            return string.Format("{0} MB", sizeinmbytes); //возвращает размер в мегабайтах, если размер файла менее одного гигабайта
        else if (sizeinkbytes > 1)
            return string.Format("{0} KB", sizeinkbytes); //возвращает размер в килобайтах, если размер файла менее одного мегабайта
        else
            return string.Format("{0} B", sizeinbytes); //возвращает размер в байтах, если размер файла менее одного килобайта
    }
    catch { return "Ошибка получения размера файла"; } //перехват ошибок и возврат сообщения об ошибке
}
      Запустите ваш проект, и нажмите на единственную кнопку вашей главной формы. В открывшемся диалоговом окне, выберете любой файл и нажмите кнопку «Открыть», результатом работы будет сообщение с размером файла. Если файл меньше гигабайта, то он будет представлен в мегабайтах, с килобайтами соответственно.

Ссылка на исходник: Rusfolder.net


Комментариев нет:

Отправить комментарий

Большая просьба, не писать в комментариях всякую ерунду не по теме!