Файл или массив большого размера вывести на экран через буфер маленького размера - C#

Узнай цену своей работы

Формулировка задачи:

Приветствую! Суть: нужно продеть слона int[] slon длиной 13467 через игольное ушко byte[] uho = new byte[1024], чтобы часть слона, прошедшая через uho[] была, выведена на экран, например. Я накидал такой вариант:
            byte[] buffer = new byte[1024]; // игольное ушко
            string mystring ="";
            long a = (mynextByte.Length / buffer.Length) + 1;   // кол-во итераций
            
            int n = 0;
 
            string[] lines = new string[buffer.Length];
            do
            {
                int k = 0;
 
                do
                {
                    if ((n + k) >= mynextByte.Length) break;
 
                    lines[k] = mynextByte[n+k].ToString();
                    mystring += lines[k].ToString();
                    k++;    // внутренний счетчик
                    n++;    // внешний счетчик

                }
                while (k < buffer.Length);
                a--;

            } while (a > 0);
Как можно оптимизировать? Изменить? Предлагайте иные реализации :-) Главное - слон должен быть большой (вплоть до 200 Мб), толстый, и размер не кратный 2, ухо должно быть не более 8192, и слон должен быть собран весь до последнего байта, ничего не должно потеряться. Для тех, кто хорошо разбирается в языке, можно попутно разобрать слона int->byte->char || string и обратно (опционально). Вопрос про производительность открытый.

Решение задачи: «Файл или массив большого размера вывести на экран через буфер маленького размера»

textual
Листинг программы
static void Main(string[] args)
        {
            var fileStream = new FileStream("огромный файл :)", FileMode.Open);
 
            using (var bufferedStream = new BufferedStream(fileStream))
            {
                int value;
 
                while ((value = bufferedStream.ReadByte()) != -1)
                {
                    Console.Write(value);
                }
            }
 
 
            Console.ReadKey();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы