`
shirlly
  • 浏览: 1652066 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

C#读取指定目录下所有文件

    博客分类:
  • .NET
阅读更多
根据网上资料整理而得,本来还可以读出所有目录的名字,但是考虑到文件名中包含完整文件路径,故意义不大,就不用读出目录名功能。

主要功能:

    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# FTP递归下载文件(子目录和子目录中的文件)

    总结来说,C# FTP递归下载文件功能的实现涉及理解FTP协议、解析目录列表、递归调用以及处理网络I/O。通过这种方式,你可以轻松地从FTP服务器下载包含多个层次结构的文件和子目录,这对于处理大型文件存储系统非常...

    C#读取BIN文件内容

    在读取BIN文件时,我们需要创建一个`FileStream`实例,指定文件路径和访问模式(例如,`FileMode.Open`表示打开现有文件)。 ```csharp using System.IO; // 创建FileStream对象 FileStream fileStream = new ...

    C#读取.nc文件

    标题中的"C#读取.nc文件"指的是使用C#编程语言处理NetCDF(Network Common Data Form)格式的数据文件。NetCDF是一种自描述、可移植、多维数组数据格式,广泛用于科学计算领域,如气象学、海洋学、地球物理学等。在...

    2023 C#读取.nc文件

    标题 "2023 C#读取.nc文件" 指的是使用C#编程语言处理.NET框架中的.nc(NetCDF)文件。NetCDF是网络 Common Data Form的缩写,是一种用于存储多维科学数据的标准格式,常用于气象、海洋学、地球物理学等领域。这种...

    C#编写的读取文件夹下所有的文件,文件格式可以根据自己的要求设定。

    此方法接受一个路径作为参数,返回该路径下所有文件的字符串数组。例如: ```csharp string[] files = Directory.GetFiles(@"C:\MyFolder", "*.txt"); ``` 在这个例子中,`"*.txt"`是通配符,表示我们要查找所有...

    C#读取多个BIN文件并拼接

    4. **读取和写入文件内容**:接着,使用`BinaryReader.ReadBytes(int)`方法读取`fileStream`中的所有字节,然后用`BinaryWriter.Write(byte[])`写入到输出文件。 ```csharp byte[] bytes = reader.ReadBytes((int)...

    c#读取二进制文件c#读取二进制文件

    ### C#读取与写入二进制文件 在C#编程中,经常需要处理二进制文件,比如图像、音频文件等非文本数据。为了高效地读写这些文件,C#提供了`FileStream`类和`BinaryReader`/`BinaryWriter`类,它们位于`System.IO`命名...

    c#实现文件读取并显示读取文件进度条

    在C#编程中,实现文件读取并显示读取文件进度条的功能是一项常见的任务,尤其在处理大文件时,为了提供良好的用户体验,进度条是非常重要的。这个功能涉及到多个知识点,包括文件I/O操作、流(Stream)处理、事件...

    c#读取txt(cs、html)文件

    在C#编程中,读取文本文件,如.txt、.cs或.html文件,是一项常见的任务。这涉及到使用System.IO命名空间中的类...以上就是关于“c#读取txt文件,cs文件,html文件,实现用户自定义目录”的详细解释,希望对您有所帮助。

    C# 遍历指定目录下的所有文件和目录

    在C#编程中,遍历指定目录下的所有文件和子目录是一项常见的任务,这通常用于文件管理和系统操作。本文将详细讲解如何使用C#来实现这一功能,以及相关的知识点。 首先,我们需要引入`System.IO`命名空间,这个命名...

    C#文件流读取CSV文件

    总结来说,C#中的文件流读取CSV文件主要涉及`FileStream`、`StreamReader`和`TextReader`的使用。对于更复杂的Excel操作,可以借助第三方库,如EPPlus或NPOI。在处理Excel数据时,了解如何正确解析和操作CSV格式的...

    C#读取csv格式文件的方法

    本文实例讲述了C#读取csv格式文件的方法。分享给大家供大家参考。具体实现方法如下: 一、CSV文件规则   1 开头是不留空,以行为单位。 2 可含或不含列名,含列名则居文件第一行。 3 一行数据不跨行,无空行。 4 以...

    C#读取EXCEL并输出CSV文件

    在IT行业中,C#是一种广泛使用...总之,C#读取Excel并输出CSV是一项常见的数据处理任务,可以使用多种方法实现。选择适合的库、理解文件操作和数据读写原理,对于提升C#编程能力及其在数据处理领域的应用具有重要意义。

    C# 提取目录中最新的更新文件

    这段代码首先获取指定目录及其子目录下的所有文件,然后遍历并比较每个文件的最后修改时间。如果文件的最后修改时间晚于`referenceTime`,并且比当前已知的最新文件还要新,就更新`latestUpdatedFile`。 关于压缩...

    C# 读取和写入INI配置文件

    读取和写入INI配置文件,熟肉下载即可食用。 string readStr = _file.ReadString("CONFIG", "AAA", "NONE"); _file.WriteString("CONFIG", "BBB", "NONE"); _file.DeleteKey("CONFIG", "CCC");

    C#读取文件夹中所有文件名称并转为json格式描述

    然后,我们可以编写一个方法,遍历指定目录下的所有文件和子文件夹,并将它们转换成`FileSystemEntry`对象的列表: ```csharp private static List&lt;FileSystemEntry&gt; GetFileSystemEntries(string directoryPath) {...

    C#文本文件读取和写入(文件、目录操作)

    - **列举目录内容**:`Directory.GetFiles()`和`Directory.GetDirectories()`方法可以获取指定目录下的所有文件和子目录。 - **创建、删除目录**:使用`Directory.CreateDirectory()`创建新目录,`Directory....

    C#读取目录下所有指定类型文件的方法

    以下是一个C#代码示例,演示了如何读取指定目录下所有扩展名为“.xml”的文件: ```csharp using System; using System.IO; using System.Windows.Forms; // 如果是在Windows Forms应用程序中 public class ...

    C#读取电脑中所有文件源程序

    下面是一个基本的示例,展示如何使用`Directory.GetFiles()`方法读取指定目录下的所有文件: ```csharp using System.IO; public static void ReadFiles(string directoryPath) { string[] files = Directory....

    C#读取bin文件

    总结,C#读取.bin文件并显示在TextBox中的核心步骤包括: 1. 打开文件流:使用`FileStream`类,指定文件路径和访问模式。 2. 读取数据:通过`BinaryReader`类的`Read`方法读取字节数组。 3. 转换数据:将字节数组...

Global site tag (gtag.js) - Google Analytics