2017-05-13 8 views

답변

0

다른 옵션도있을 수 있지만이 대답에서는 입력란에 파일 스트림을 집중적으로 설명하고자합니다.

명령은 다음과 같이 보일 것입니다 :

c:\>MyConsole < c:\temp\streamin.txt 

다음의 예는 'Q'는 '누르면'될 때까지 파일에서 입력을 받아 간단한 콘솔 응용 프로그램입니다.

프로그램 1

static void Main(string[] args) 
{ 
    var isBusy = true; 
    while (isBusy) 
    { 
     var k = Console.In.Read(); 
     if (k > -1) 
     { 
      var c = Convert.ToChar(k); 
      // quit if 'q' was pressed. 
      if (c == 'q') 
       isBusy = false; 
      Console.WriteLine($"Key pressed: {c}"); 
     } 
     Thread.Sleep(500); 
    } 
    Console.WriteLine(); 
    Console.WriteLine("Done. Closing in 5 seconds."); 
    Thread.Sleep(5000); 
} 

입력이 파일에서오고 있기 때문에 Console.ReadKey하지가 사용할 수 있습니다. 메모장에서 파일을 열고 키와 파일 저장 를 추가하면

, 당신은 키를 읽 프로그램 일을 알 수 있습니다.

키를 파일에 추가하는 다른 프로그램을 만들 수도 있습니다.

프로그램은 2

static void Main(string[] args) 
{ 
    var f = new FileStream(@"c:\temp\streamin.txt", FileMode.Append); 
    var key = new ConsoleKeyInfo(); 
    while (key.KeyChar != 'q') 
    { 
     key = Console.ReadKey(false); 
     f.Write(new[] { Convert.ToByte(key.KeyChar) }, 0, 1); 
     f.Flush(); 
    } 
    f.Close(); 
    f.Dispose(); 
    Console.WriteLine(); 
    Console.WriteLine("Done. Press any key to quit."); 
    Console.ReadKey(true); 
    Console.WriteLine(); 
} 

이 바로 가능하다 무엇을 설명하기 위해, 아주 간단한 프로그램입니다. 프로그램 2는 'q'를 누를 때까지 프로그램 1이 파일에서 계속 읽는 동안 파일에 키를 계속 추가합니다.

Console.SetIn()을 사용하여 명령 줄 대신 프로그램 1에서 입력 스트림을 설정할 수도 있습니다.