Считывание файла по строкам с использованием таймера (Console) - C#
Формулировка задачи:
Привет. Есть текстовый файл, содержащий некую информация. Его требуется вывести по строкам, каждую строку через определенное время (в моем случае полсекунды). Т.е. если файл содержит, например:
То первой должна выводится строка 12345, через полсекунды 678910 и т.д. пока не дойдет до конца файла (в моем случае до конца 4 строки).
В таком случае у меня считывает все строки сразу. Была идея, конечно, считывать по строке и потом писать n++, но тогда возникают трудности, если размер файла, скажем, 20-30 строк. Собственно вопросы:
1) как мне в строке while (n != 6); определить конец файла (помню в vb.net было EOF);
2) как все-таки сделать правильный вывод всего этого дела в консоль.
Заранее спасибо всем)
12345 678910 abcde xyz123
public class MyTimer { static int n = 0; public static void Main() { System.Timers.Timer tmr = new System.Timers.Timer(); tmr.Elapsed += new ElapsedEventHandler(OnTimedEvent); tmr.Interval = 500; tmr.Enabled = true; while (n != 4) ; } public static void OnTimedEvent(object source, ElapsedEventArgs e) { string[] a = File.ReadAllLines(@"D:\text1.txt"); for (n = 0; n < 4; n++) { Console.WriteLine(a[n]); } } }
Решение задачи: «Считывание файла по строкам с использованием таймера (Console)»
textual
Листинг программы
namespace DelayFileRead { class Program { private static StreamReader reader; static void Main(string[] args) { reader = new StreamReader(@"D:\temp\codegen\some.cs"); System.Timers.Timer timer = new System.Timers.Timer(); timer.Elapsed += Timer_Elapsed; timer.Interval = 500; timer.Enabled = true; while (reader != null) Thread.Sleep(100); Console.WriteLine(); Console.WriteLine("Press any key for exit ..."); Console.ReadKey(true); } private static void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { var line = reader.ReadLine(); if (line != null) Console.WriteLine(line); else { (sender as System.Timers.Timer).Enabled = false; reader.Close(); reader = null; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д