اگر من میخواستم همچین سوالی رو مطرح کنم یک فایل نمونه با دو تا سطر داده ارائه میکردم که بشه برای فرمتش راهکار ارائه کرد.
این مثال 1398 08 01 00 254 352 462 که نوشتید مشخص میکنه که بین اعداد کاراکتر فاصله هست ولی نه با اون مشخصات "هر خط نوت پد حدود 300 کارکتر" جور در میاد و نه تصوری از نحوه درج مقادیر در (@Name, @Family, @Kod, @Mon) میده.
با توصیفی که شما از فایل های متنی تون میکنید در بدترین شرایط که Unicode باشن حداکثر 150 کیلوبایت حجم دارن، زیاد نیست، نیازی نیست که بصورت Stream و کاراکتر به کاراکتر تفسیرشون کنیم.
میشه با System.IO.File.ReadAllLines یکجا در آرایه متنی فراخوانی شون کرد و بعد در هر سطر با (" ")string.Split مقادیر رو تفکیک کرد. با int.Parse هم که رشته ها به مقدار عددی تبدیل میشن.
مادامی که تصور ما از محتویات سطر ها ناقص باشه سخته بشه برای نوشتن یک روتین کارآمد کمکی کرد.