C# 多文件读取问题

C# 多文件读取问题,c#,asp.net,.net,C#,Asp.net,.net,我在一个文件夹中有多个不同名称的文本文件。我想一个接一个地读取所有文件-->>*只在完成第一个文件后读取第二个文件。读取成功后,它应该从目录中删除该文件。我可以读取单个文件。但当我试图一次读取所有文件时,它给出了一个错误。 如何使用线程读取和删除文件。 具有相同格式的所有文件 我的示例代码: StreamReader objReader = new StreamReader("c:\codeo\testm.txt"); string sLine="";

我在一个文件夹中有多个不同名称的文本文件。我想一个接一个地读取所有文件-->>*只在完成第一个文件后读取第二个文件。读取成功后,它应该从目录中删除该文件。我可以读取单个文件。但当我试图一次读取所有文件时,它给出了一个错误。 如何使用线程读取和删除文件。 具有相同格式的所有文件

我的示例代码:

        StreamReader objReader = new StreamReader("c:\codeo\testm.txt");
        string sLine="";
        ArrayList arrText = new ArrayList();

        while (sLine != null)
        {
            sLine = objReader.ReadLine();
            if (sLine != null)
                arrText.Add(sLine);
        }
                    objReader.Close();

        foreach (string sOutput in arrText)
            Console.WriteLine(sOutput);
        Console.ReadLine();
对于del:

             private void btnDelete_Click(object sender, EventArgs e)
             {
              if (File.Exists(fileLoc))
               {
                 File.Delete(fileLoc);
               }
             }
试试这个代码

DirectoryInfo di = new DirectoryInfo("c:\\codeo\\");
FileInfo[] fiArray = di.GetFiles();

foreach (FileInfo fi in fiArray)
{
    StreamReader objReader = new StreamReader(fi.FullName);
    string sLine = "";
    ArrayList arrText = new ArrayList();

    while (sLine != null)
    {
        sLine = objReader.ReadLine();
        if (sLine != null)
            arrText.Add(sLine);
    }
    objReader.Close();

    foreach (string sOutput in arrText)
        Console.WriteLine(sOutput);
    Console.ReadLine();

}

这需要更多的澄清,比如你收到了什么错误。我的做法是:

//Store all filenames within a List<string>
public void ReadFiles(List<string> filenames)
{
    string line = null;
    foreach(string file in filenames)
    {
        //The using will manage the closing and handle exceptions safely
        using(StreamReader reader = new StreamReader(file))
        {
            while((line = reader.readLine()) != null)
            Console.WriteLine(line);
        }
        if(File.Exists(file))
            File.Delete(file);
    }
}
//将所有文件名存储在列表中
公共无效读取文件(列出文件名)
{
字符串行=null;
foreach(文件名中的字符串文件)
{
//用户将管理关闭并安全地处理异常
使用(StreamReader=新StreamReader(文件))
{
而((line=reader.readLine())!=null)
控制台写入线(行);
}
如果(File.Exists(File))
文件。删除(文件);
}
}

这段代码未经测试,但我相信它应该能正常工作。这对你有帮助吗?我写这篇文章是基于你需要在阅读后删除文件——基于按钮的删除应该很容易实现。如果您需要更多的澄清或帮助,请留下评论。

在您提出新问题之前,接受他人的回答是一种很好的习惯。您正在ASP.NET应用程序中使用此代码吗?请修复标签,这肯定不是asp经典