如何从多个目录中获取文件并将其显示在datagridview中? [英] How to get files from multiple directories and displaying it in a datagridview?

查看:59
本文介绍了如何从多个目录中获取文件并将其显示在datagridview中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如问题所述.我想从多个目录中读取文件,并将其全部显示在单个datagridview中.我发现有一个同样的问题,但是我正在使用string []时使用List< .AddRange来获取目录.请帮忙.这是我的代码片段,用于提取目录和文件:

As stated in the questions. I want to read files from multiple directories and display all of it in a single datagridview. I''ve found one that having the same problem but that one is using List<>.AddRange to get the directories while I''m using string[]. Please help. Here is my code snippet to fetch the directory and files :

s1 = Directory.GetFiles(@"C:\Documents and Settings\Administrator\Desktop\FILE\7", "*.*");



这是为了读取它并将其填充到datagridview中:



and this is for reading it and filling it in a datagridview :

for (int i = 0; i <= s1.Length - 1; i++)
        {

            try
            {
                if (i == 0)
                {
                    dt.Columns.Add("File_Name");
                    dt.Columns.Add("File_Type");
                    dt.Columns.Add("File_Size");
                    dt.Columns.Add("Create_Date");
                }

                FileInfo info = new FileInfo(s1[i]);
                FileSystemInfo sysInfo = new FileInfo(s1[i]);
                dr = dt.NewRow();

                dr["File_Name"] = sysInfo.Name;
                dr["File_Type"] = sysInfo.Extension;
                dr["File_Size"] = (info.Length / 1024).ToString();
                dr["Create_Date"] = sysInfo.CreationTime.Date.ToString("dd/MM/yyyy");
                dt.Rows.Add(dr);


                if ((info.Length / 1024) > 1500000)
                {
                    MessageBox.Show("" + sysInfo.Name + " had reach its size limit.");
                }



                if (dt.Rows.Count > 0)
                {
                    dataGridView1.DataSource = dt;
                }
            }
            catch (UnauthorizedAccessException ex)
            {
                MessageBox.Show("Error : " + ex.Message);
                continue;
            }
        }

   }

推荐答案

如果我了解您要查找的内容,这可能会有所帮助,并且省去了回头获取FileInfo的麻烦;

If I understand what you are looking for, this may help, and it saves having to go back and get FileInfo;

var y = (new DirectoryInfo(@"C:\")).GetFiles().ToList();
y.AddRange((new DirectoryInfo(@"C:\boot")).GetFiles());


这篇关于如何从多个目录中获取文件并将其显示在datagridview中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆