我现在好几个文件夹下有文件,1.需要把所有的文件显示在前端2.根据不同的条件显示不同文件夹下所有的文件,只要文件名不要路径,大家看看有没有好的办法。
备:我是一个一个读文件夹的文件然后累加的,这样效果感觉不是很好;对于,不同的类型读不同的文件路径,因为有20个文件夹感觉也不是太好;最后,希望有源码,谢谢了。
|
你不一个个读还要怎么读,要取读所有的文件自然需要遍历文件夹~~ 或者,你可以搞一份配置文件,添加一个文件夹不在配置文件中加一个。这样读取的时候,就不用去遍历所有的文件夹了,只要解析一下这个配置文件就可以了 拉一个listView控件 把你不同类型的文件夹路径做为了Bl方法的参数 ------------------------------------------------ private void Bl(string lj) { listView1.Items.Clear(); //遍历路径(lj)下的文件夹 foreach (string zwjj in Directory.GetDirectories(lj)) { listView1.Items.Add(zwjj, Path.GetFileNameWithoutExtension(zwjj), 0); } //遍历路径(lj)下的文件 foreach (string zwjj in Directory.GetFiles(lj)) { listView1.Items.Add(zwjj, Path.GetFileName(zwjj), 2); } } 递归吧。 WINDOWS会在第一次遍历时建索引,第二次飞快。呵呵。 |
|
2个月前 金鱼 : 呵呵,谢谢大家给出的答案; 第一个问题,我们没有用,也许就是大家说的遍历所有文件夹吧! 至于第二种,根据不同的条件去选择不同的路径,我采用的是枚举的办法,感觉很好用,代码也就几行就可以了。 现在我把代码附一下: #region 日期类型的报表路径 /// <summary> /// 日期类型的报表路径 /// </summary> public enum DataTypePath { Day = 1, Week = 2, Month = 3, Year = 4, Default = 5 } #endregion string path = ConfigurationManager.AppSettings["xmlPath"] + @"\excelreport\templet"; path = path + @"\" + (DataTypePath)int.Parse(Dtype); 参数Dtype为传过来的参数, 最后,再次感谢大家! |