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

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

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

Приветствую! Суть: нужно продеть слона int[] slon длиной 13467 через игольное ушко byte[] uho = new byte[1024], чтобы часть слона, прошедшая через uho[] была, выведена на экран, например. Я накидал такой вариант:
Листинг программы
  1. byte[] buffer = new byte[1024]; // игольное ушко
  2. string mystring ="";
  3. long a = (mynextByte.Length / buffer.Length) + 1; // кол-во итераций
  4. int n = 0;
  5. string[] lines = new string[buffer.Length];
  6. do
  7. {
  8. int k = 0;
  9. do
  10. {
  11. if ((n + k) >= mynextByte.Length) break;
  12. lines[k] = mynextByte[n+k].ToString();
  13. mystring += lines[k].ToString();
  14. k++; // внутренний счетчик
  15. n++; // внешний счетчик
  16.  
  17. }
  18. while (k < buffer.Length);
  19. a--;
  20.  
  21. } while (a > 0);
Как можно оптимизировать? Изменить? Предлагайте иные реализации :-) Главное - слон должен быть большой (вплоть до 200 Мб), толстый, и размер не кратный 2, ухо должно быть не более 8192, и слон должен быть собран весь до последнего байта, ничего не должно потеряться. Для тех, кто хорошо разбирается в языке, можно попутно разобрать слона int->byte->char || string и обратно (опционально). Вопрос про производительность открытый.

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

textual
Листинг программы
  1. static void Main(string[] args)
  2.         {
  3.             var fileStream = new FileStream("огромный файл :)", FileMode.Open);
  4.  
  5.             using (var bufferedStream = new BufferedStream(fileStream))
  6.             {
  7.                 int value;
  8.  
  9.                 while ((value = bufferedStream.ReadByte()) != -1)
  10.                 {
  11.                     Console.Write(value);
  12.                 }
  13.             }
  14.  
  15.  
  16.             Console.ReadKey();
  17.         }

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


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

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

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы