C#读取所有目录
来源:互联网 发布:宫刑太可怕了 知乎 编辑:程序博客网 时间:2024/04/29 21:42
- 根据网上资料整理而得,本来还可以读出所有目录的名字,但是考虑到文件名中包含完整文件路径,故意义不大,就不用读出目录名功能。
主要功能:
1.读取指定目录下含子目录中所有文件。
2.计算文件大小
3.文件含完整路径
4.列表显示到ListBox控件
5.列表写入指定Txt文本文件。 - using System;
- using System.Data;
- using System.Configuration;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- using System.IO;
- using System.Collections;
- public partial class _Default : System.Web.UI.Page
- {
- string path = @"//192.168.1.88/movie/音乐综艺"; //目录名 也可以用相当路径
- string filter = "*.*"; //文件类型
- int m_numFiles = 0; //文件总数
- ArrayList m_pathList = new ArrayList();//包含所有文件路径的数组
- string[] files; //所有文件名
- protected void Page_Load(object sender, EventArgs e)
- {
- }
- private string[] CreatePathList()
- {
- if (m_numFiles <= 0)
- {
- return null;
- }
- string[] str = new string[m_numFiles];
- int index = 0;
- try
- {
- IEnumerator pathIter = m_pathList.GetEnumerator();
- while (pathIter.MoveNext())
- {
- string[] ar = (string[])(pathIter.Current);
- IEnumerator fileIter = ar.GetEnumerator();
- while (fileIter.MoveNext())
- {
- str[index] = (string)(fileIter.Current);
- ++index;
- }
- }
- }
- catch (Exception e)
- {
- Console.Write(e.ToString());
- return null;
- }
- return str;
- }
- private void ParseDirectory(string path, string p)
- {
- string[] dirs = Directory.GetDirectories(path);//得到子目录
- IEnumerator iter = dirs.GetEnumerator();
- while (iter.MoveNext())
- {
- string str = (string)(iter.Current);
- ParseDirectory(str, filter);
- }
- string[] files = Directory.GetFiles(path, filter);
- if (files.Length > 0)
- {
- foreach (string filename in files)
- {
- FileInfo inf=new FileInfo(filename);
- float value = inf.Length / 1024 /1024;
- m_numFiles += files.Length;
- m_pathList.Add(files);
- ListBox1.Items.Add(filename);
- ListBox1.Items.Add("文件大小:"+value.ToString()+"M");
- }
- }
- }
- protected void BtGetFileList_Click(object sender, EventArgs e)
- {
- ParseDirectory(path, "*.*");
- files = CreatePathList(); //生成文件名数组
- //ListBox1.Items.Add(files.ToString());
- if (files == null)
- {
- throw new Exception(String.Concat("No file found in ", path));
- }
- }
- protected void BtInsrtTxt_Click(object sender, EventArgs e)
- {
- if (File.Exists("c://test.txt") == true)
- {
- try
- {
- //label2.Text = "OK";
- //File.Delete("c://test.txt");
- //File.Create("test.txt");
- StreamWriter sw = new StreamWriter("c://test.txt", true);
- for (int i = 0; i < ListBox1.Items.Count; i++)
- {
- //写入TXT文件
- sw.Write(ListBox1.Items[i].ToString() + "/r/n");
- }
- sw.Close();
- }
- catch (Exception err)
- {
- Console.WriteLine(err.ToString());
- }
- }
- else
- {
- //label2.Text = "error";
- }
- }
- }
- C#读取所有目录
- c#读取指定目录的所有文件
- C#读取目录下的所有视频
- C#读取某个目录下的所有excel文件名
- C#读取目录下所有指定类型文件的方法
- C#递归读取目录里所有文件(包括子目录)及其文件操作
- C# 读取指定目录中的所有文件,并按规则生成SQL语句!
- C# 读取共享目录文件
- php 读取目录下所有文件修改
- php读取目录下的所有文件
- VC读取目录下所有文件名
- windows api 读取目录下所有文件
- java读取某目录下所有文件名
- 读取目录下所有的文件名
- 读取指定目录下的所有文件
- c++读取目录下所有文件名
- VC读取目录下所有文件名
- Android读取assets目录下所有文件
- android应用程序框架
- How to send mail by EMS - 如何实现邮件特快专递
- TcpListener类获得客户连接的IP地址
- DataSet,DataTable,DataReader,DataAdapter区别(搞笑版)
- Android 运行库
- C#读取所有目录
- 程序员的五种非技术错误
- 麦当劳省钱全攻略
- OMAP3530-Android移植
- mutable and volatile
- VB调用浏览器打开指定的网站 加QQ 等功能
- EMA3530 android移植——网络篇
- Oracle 表连接方式介绍(SML + NL + HJ)
- 夜深 (小凯)