c#Beginnerrrr Ответов: 4

Программа для чтения первых пяти слов из файла без чтения полного файла на языке Си#


я не хочу читать весь файл целиком. я просто хочу, чтобы моя программа прочитала первые пять слов из файла.

Что я уже пробовал:

я использовал readalllines и readalltext.. но он читал весь файл

Richard MacCutchan

Тогда не используйте readalllines/readalltext.

4 Ответов

Рейтинг:
2

Kornfeld Eliyahu Peter

Так что читайте его по частям и остановитесь после 5 слов...
Что streamreader.Метод Чтения (Char[], Int32, Int32) (System.IO)[^]


Рейтинг:
2

CPallini

Повторное использование Readline, пока вы не получите необходимые слова. Смотрите, например: Как читать текстовый файл по одной строке за раз (Visual C#) | Microsoft Docs[^].


Рейтинг:
2

Karthik_Mahalingam

пробовать

string filePath = @"D:\Tools\abc.txt";
        string first5Words = "";
        int maxWords = 5, count = 0;
        using (StreamReader reader = new StreamReader(filePath))
        {
            while (reader.Peek() >= 0)
            {
               char c = (char)reader.Read();
               char[] ChartoFindNewWord = { ' ', '\t', '\n', '\r' };
                if(ChartoFindNewWord.Contains(c))
                {
                    count++;
                    if(count >= maxWords)
                    break;
                }
                first5Words += c; 
            }
            
        }

        string output = first5Words;


c#Beginnerrrr

Придется попробовать..Спасибо:)

Karthik_Mahalingam

хорошо, дайте знать, если вы столкнетесь с какой-либо проблемой

c#Beginnerrrr

у меня есть еще один вопрос ... не могли бы вы мне помочь с этим?

Karthik_Mahalingam

Если запрос связан с этим потоком, то продолжайте, иначе опубликуйте новый вопрос.

c#Beginnerrrr

окей

Рейтинг:
1

Kenneth Haugland

Чтениетекста приятно:[^]

пример из ссылки:

using (TextReader reader = File.OpenText(@"C:\perl.txt"))
{
    string line = reader.ReadLine();
    Console.WriteLine(line);
}