日期:2014-05-17  浏览次数:20503 次

asp.net实现文件夹遍历、文件大小统计等
最近在做了一个文件批量导入数据库的功能。一上午导了2000多张图片,很是过瘾,但还不满足,这里面应该还有很多待挖掘的东西.
比如如何获取一个文件夹下面的所有子文件和子目录,还统计整个文件夹所占的磁盘空间,我下面的代码不够只能智能,获取某个目录下面的子目录集合,只能手动加foreach实现,可否用一个foreache

protected void GetFileInfo()
        {

            List<mdl.Product> modelList = new List<mdl.Product>();
            string rootPath = "Picture/Import";//根目录下面的文件夹名称

            string mapPath = Server.MapPath("~/" + rootPath);
            DirectoryInfo rootDir = new DirectoryInfo(mapPath);//获取文件夹Picture对象
            DirectoryInfo[] dirs = rootDir.GetDirectories();////获取文件夹Picture下面的子文件夹对象集合

            try
            {
                foreach (var subDir in dirs)//1、2、3、4、5、6文件夹(系列ID)
                {
                            foreach (var itemFile in subDir.GetFiles())
                            {
                                mdl.Product model = new mdl.Product();

                                    //图片名字作为数据表对象Title字段
                                    model.CnTitle = itemFile.Name.Replace(".jpg", "").Replace(".JPG", "")+"#";
                                    model.EnTitle = model.CnTitle;
                                    
                                    model.TypeID = Convert.ToInt32(subDir.Name);//subDir.Name文件夹名称,即1、2、3、4、5、6
                                    var pic = rootPath + "/" + subDir.Name + "/"&