无法在循环中正确显示内容

我已经编写了 ac# 代码来检索所有文件名,方法是打印其中的一个信息。示例文件包含(file1.mht、file2.mht、file3.mht)。也许里面的包含是(aaaaaa,bbbbbb,cccccc)遵循文件的顺序。 输出示例: file1.mht aaaaaa file2.mht bbbbbb file3.mht cccccc


但是我遇到的问题是它不能通过显示里面的内容来循环文件名。任何人都可以帮忙吗?当前的结果是它首先显示所有目录,并且只完成目录中第一个的工作。


using HtmlAgilityPack;

using System;

using System.Collections.Generic;

using System.Data;

using System.IO;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Threading.Tasks;

using System.Configuration;

using System.Collections.Specialized;


namespace ConsoleApp3

{

    class Program

    {

        static void Main(string[] args)

        {

            DirectoryInfo mht_file = new DirectoryInfo(@"C:\Users\liewm\Desktop\SampleTest\");

            FileInfo[] Files = mht_file.GetFiles("*.mht");

            string str = "";

            string mht_text = "";

            string directory = "";

            string listInfo = "";


            foreach (FileInfo file in Files)

            {

                str = file.Name;

                directory = mht_file + str;

                Console.WriteLine(directory);

            }

            foreach (char filePath in directory)

            {

               //Here is my work to retrieve the data in the file


                Console.WriteLine("Names:" + str + "    " + "Component:" + component);

                Console.ReadKey();

            }



        }



    }


}


慕桂英4014372
浏览 143回答 3
3回答

汪汪一只猫

从您的问题中,我了解到您想打印文件名,然后是相同的内容,如果是这样,您可以尝试:DirectoryInfo mht_file = new DirectoryInfo(@"C:\Users\liewm\Desktop\SampleTest\");FileInfo[] Files = mht_file.GetFiles("*.mht");foreach (FileInfo file in Files){    // read the content of the file    var content = File.ReadAllText(file.FullName);    // from your question "Example out output: file1.mht aaaaaa"    Console.WriteLine($"{file.Name} {content}");}

MMMHUHU

只完成了目录中最后一项的工作。是的,那是因为您的目录变量是一个字符串string directory = "",它将被循环迭代的最后一个值覆盖。string[]如果您想处理所有这些,您宁愿存储在一个而不是。foreach (FileInfo file in Files){  str = file.Name;  directory = mht_file + str;  Console.WriteLine(directory);}

MMTTMM

请试试这个。  foreach (FileInfo file in Files)            {                str = file.Name;                directory += mht_file + str;                Console.WriteLine(directory);            }
打开App,查看更多内容
随时随地看视频慕课网APP