вторник, 8 октября 2013 г.

Получить всю информацию о файле

Привет всем. Сегодня в форумах читал вопрос о том, как получить размер файла с помошью C# программы. В этой статье буду показать как получить размер файла и не только (время создания файла, последное изменение файла и т.д).
Создаем новый проект Windows Forms Application и в форме добавим новый button. Назавем его "Choose File", создаем для него собитию по клике.


        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog f = new OpenFileDialog();
            if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                GetFileInformation(f.FileName);
            }
        }

В методе создается диалоговое окно для выбора файла. Об этом мы говорили в "C# Программное копирование файла" статье.
Добавым 7 label в форме, чтобы отображать разные свойства файла, и пишем следующый метод.

        private void GetFileInformation(string fileName)
        {
            FileInfo f = new FileInfo(fileName);

            label1.Text = "Creation Time - " + f.CreationTime.ToString();
            label2.Text = "Directory Name - " + f.DirectoryName;
            label3.Text = "File Extension - " + f.Extension;
            label4.Text = "Full Name - " + f.FullName;
            label5.Text = "Last Access Time - " + f.LastAccessTime.ToString();
            label6.Text = "Last Write Time - " + f.LastWriteTime.ToString();
            label7.Text = "File Size - " + (f.Length / 1024).ToString() + "KB";
        }

Для получение информации файла используется класс FileInfo. Там есть разные методы но я выбрал более употребленные.

А вот результат

И конечно же польный код
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace File_Information
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog f = new OpenFileDialog();
            if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                GetFileInformation(f.FileName);
            }
        }

        private void GetFileInformation(string fileName)
        {
            FileInfo f = new FileInfo(fileName);

            label1.Text = "Creation Time - " + f.CreationTime.ToString();
            label2.Text = "Directory Name - " + f.DirectoryName;
            label3.Text = "File Extension - " + f.Extension;
            label4.Text = "Full Name - " + f.FullName;
            label5.Text = "Last Access Time - " + f.LastAccessTime.ToString();
            label6.Text = "Last Write Time - " + f.LastWriteTime.ToString();
            label7.Text = "File Size - " + (f.Length / 1024).ToString() + "KB";
        }
    }
}

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

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