Как читать и показывать контент из нескольких текстовых файлов? - PullRequest
0 голосов
/ 26 февраля 2019

Как вопрос, как показать контент из нескольких текстовых файлов?Я хотел бы прочитать все содержимое из показа пути в консоли одним нажатием кнопки и сохранить в переменной.В настоящее время он может читать только один за другим.Я самоучка и начинающий на C # в настоящее время.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace ConsoleApp1
{

    class Program
    {
        static void Main(string[] args)
        {
            ListFileInDirectory(@"C:\Users\liewm\Desktop\SampleFile");

            Console.WriteLine("Press enter to continue");
            Console.Read();
        }

        private static void ListFileInDirectory(string workingDirectory)
        {
            string[] filePaths = Directory.GetFiles(workingDirectory);
            String line;

            foreach (string filePath in filePaths)
            {
                Console.WriteLine(filePath);
                try
                {
                    //Pass the file path and file name to the StreamReader constructor
                    StreamReader sr = new StreamReader(filePath);

                    //Read the first line of text
                    line = sr.ReadLine();

                    //Continue to read until you reach end of file
                    while (line != null)
                    {
                        //write the lie to console window
                        Console.WriteLine(line);
                        //Read the next line
                        line= sr.ReadLine();
                    }

                    //close the file
                    sr.Close();
                    Console.ReadLine();
                }
                catch (Exception e)
                {
                    Console.WriteLine("Exception: " + e.Message);
                }
                finally
                {
                    Console.WriteLine("Executing finally block.");
                }
            }

        }
    }
}

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019
static void Main(string[] args)
    {
        //ListFileInDirectory(@"C:\Users\albto\Documents\_projetos\MultiplesFiles\MultiplesFiles\_arquivos");
        ListFileInDirectory(@"C:\Users\liewm\Desktop\L907C524_1x");

        Console.WriteLine("Press enter to continue");
        Console.Read();
    }


    private static void ListFileInDirectory(string workingDirectory)
    {
        string[] filePaths = Directory.GetFiles(workingDirectory);
        List<string> allLines = new List<string>();

        foreach (string filePath in filePaths)
        {
            try
            {
                //stores the files address
                allLines.Add(filePath);

                //stores file lines
                allLines.AddRange(System.IO.File.ReadAllLines(filePath));
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception: " + e.Message);
            }
            finally
            {
                Console.WriteLine("Executing finally block.");
            }
        }

        //shows all stored lines
        allLines.ForEach(Console.WriteLine);
        Console.ReadLine();

    }
0 голосов
/ 26 февраля 2019

Вы можете попробовать вот так

   private static void ListFileInDirectory(string workingDirectory)
    {
        string[] filePaths = Directory.GetFiles(workingDirectory);
        String line;

        foreach (string filePath in filePaths)
        {
            Console.WriteLine(filePath);
            try
            {

              //it returns string[]
             var allText = System.IO.File.ReadAllLines(filePath);//opens a text file, reads all text and closes the text file.

             foreach(var str in allText)
             {
               //Do what you want.
             }

            }
            catch (Exception e)
            {
                Console.WriteLine("Exception: " + e.Message);
            }
            finally
            {
                Console.WriteLine("Executing finally block.");
            }
        }

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...