C#에서 입출력을 다루는 방법은 크게 두 가지가 있습니다.
- 콘솔 입출력: 콘솔을 통해 입력과 출력을 수행하는 방법입니다.
- 파일 입출력: 파일을 통해 입력과 출력을 수행하는 방법입니다.
콘솔 입출력
콘솔 입출력은 콘솔을 통해 입력과 출력을 수행하는 방법입니다. 콘솔 입출력을 위한 메서드는 Console 클래스에 정의되어 있습니다.
Console.ReadLine()
Console.ReadLine() 메서드는 콘솔에서 한 줄의 문자열을 입력받는 메서드입니다.
string input = Console.ReadLine();
위 코드는 콘솔에서 한 줄의 문자열을 입력받아 input 변수에 저장합니다.
Console.WriteLine()
Console.WriteLine() 메서드는 콘솔에 문자열을 출력하는 메서드입니다.
Console.WriteLine("Hello, world!");
위 코드는 콘솔에 "Hello, world!"라는 문자열을 출력합니다.
StreamReader
StreamReader 클래스는 파일을 통해 입력을 수행하는 클래스입니다. StreamReader 클래스의 메서드를 사용하여 파일에서 문자열을 읽을 수 있습니다.
StreamReader.ReadLine()
StreamReader.ReadLine() 메서드는 파일에서 한 줄의 문자열을 읽는 메서드입니다.
using System.IO;
public class Example
{
public static void Main(string[] args)
{
// 파일 스트림을 생성합니다.
StreamReader reader = new StreamReader("myfile.txt");
// 파일에서 한 줄의 문자열을 읽습니다.
string line = reader.ReadLine();
// 파일 스트림을 닫습니다.
reader.Close();
// 읽은 문자열을 출력합니다.
Console.WriteLine(line);
}
}
위 코드는 "myfile.txt" 파일에서 한 줄의 문자열을 읽어 line 변수에 저장합니다.
콘솔에서 입력을 받는 방법
StreamReader 클래스를 사용하여 콘솔에서 입력을 받을 수도 있습니다. 다음은 콘솔에서 입력을 받는 방법입니다.
using System.IO;
public class Example
{
public static void Main(string[] args)
{
// 스트림을 생성합니다.
StreamReader stream = new StreamReader(new BufferedStream(Console.OpenStandardInput()));
// 콘솔에서 한 줄의 문자열을 읽습니다.
string line = stream.ReadLine();
// 콘솔 스트림을 닫습니다.
stream.Close();
// 읽은 문자열을 출력합니다.
Console.WriteLine(line);
}
}
위 코드는 콘솔에서 한 줄의 문자열을 읽어 line 변수에 저장합니다.
Console.ReadLine() vs StreamReader.ReadLine()
Console.ReadLine() 메서드와 StreamReader.ReadLine() 메서드는 모두 콘솔에서 한 줄의 문자열을 읽는 메서드이지만, 다음과 같은 차이점이 있습니다.
기능 | Console.ReadLine() | StreamReader.ReadLine() |
사용 방법 | 콘솔을 통해 직접 입력 | 파일을 통해 입력 |
성능 | 상대적으로 느림 | 상대적으로 빠름 |
유연성 | 유연하지 않음 | 유연함 |
Console.ReadLine() 메서드는 콘솔을 통해 직접 입력을 받기 때문에, 파일을 통해 입력을 받지 못합니다. 또한, Console.ReadLine() 메서드는 유연하지 않아서, 한 줄 이상의 문자열을 읽거나, 특정 조건에 따라 입력을 처리하는 등의 작업을 수행하기 어렵습니다.
StreamReader.ReadLine() 메서드는 파일을 통해 입력을 받기 때문에, 콘솔을 통해 입력을 받을 수 없습니다. 또한, StreamReader.ReadLine() 메서드는 유연하여, 한 줄 이상의 문자열을 읽거나, 특정 조건에 따라 입력을 처리하는 등의 작업을 수행하기 쉽습니다.
결론
콘솔 입출력은 간단한 작업을 수행하기에 적합한 방법입니다. 파일 입출력은 복잡한 작업을 수행하기에 적합한 방법입니다.
'C#' 카테고리의 다른 글
C#의 char 자료형 (0) | 2023.10.18 |
---|---|
코드 실행시간 측정 : Stopwatch (2) | 2023.10.17 |
C#의 오버로딩이란? (0) | 2023.10.01 |
C#의 var 키워드란? (0) | 2023.09.30 |
C#의 동적 변수란? (0) | 2023.09.29 |