С# Каким способом открыть файл и вытащить из строки конкретный набор символов?

Есть файл, в котором 1 строка из 5 тыс. хаотичных символов. Нужно из этой строки достать неизвестный набор знаков, на позиции между 2549 и 2561 символом (10 знаков) и записать их в новый файл. Хотел сделать перебор foreach символов, но FileStream с ним не работает и вообще я не уверен что правильным способом его открыл, но в консоль выводит всё что в файле. Только начинаю изучение. Прошу помощи.

using System;
using System.IO;

namespace Corvette
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)+$@"\file.txt";

            FileStream myFile = File.OpenRead(path);

            if (File.Exists(path))
            {                
                StreamReader file = new StreamReader(path);

                Console.WriteLine(file.ReadLine());
            }
        }
    }
}

Ответы (1 шт):

Автор решения: Cordis

Вариант попроще:

int firstSymbolPos = 2550;
int lastSymbolPos = 2560;

string s = File.ReadAllText(path).Substring(firstSymbolPos, lastSymbolPos - firstSymbolPos);
Console.WriteLine(s);

Вариант посложнее:

static int symbolsOffset = 0;
static int lastSymbolPos = 6;

static byte[] ReadBytes(Stream stream, int firstSymbolPos, int lastSymbolPos)
{
    stream.Position = firstSymbolPos;
    int count = lastSymbolPos - firstSymbolPos;
    byte[] bytes = new byte[count];
    for (int i = 0; i < count; i++)
        bytes[i] = (byte)stream.ReadByte();
    return bytes;
}

Почему бы и нет

→ Ссылка