방법: 파일에서 텍스트 읽기How to: Read text from a file

다음 예제에서는 데스크톱 응용 프로그램용 .NET을 사용하여 텍스트 파일에서 텍스트를 동기 또는 비동기적으로 읽는 방법을 보여줍니다.The following examples show how to read text synchronously and asynchronously from a text file using .NET for desktop apps. 두 예제에서는 StreamReader 클래스의 인스턴스를 만들 때 파일의 상대 또는 절대 경로를 제공합니다.In both examples, when you create the instance of the StreamReader class, you provide the relative or absolute path to the file.

참고

Windows 런타임에서는 파일을 읽고 파일에 쓰는 다양한 스트림 형식을 제공하기 때문에 이러한 코드 예제는 UWP(유니버설 Windows 플랫폼) 앱 개발에는 적용되지 않습니다.These code examples do not apply to developing for Universal Windows (UWP) apps, because the Windows Runtime provides different stream types for reading and writing to files. UWP 앱에서 파일의 텍스트를 읽는 방법을 보여주는 예제는 빠른 시작: 파일 읽기 및 쓰기를 참조하세요.For an example that shows how to read text from a file in a UWP app, see Quickstart: Reading and writing files. .NET Framework 스트림과 Windows 런타임 스트림 간의 변환 방법을 보여주는 예제는 방법: .NET Framework 스트림과 Windows 런타임 스트림 간 변환을 참조하세요.For examples that show how to convert between .NET Framework streams and Windows Runtime streams, see How to: Convert between .NET Framework streams and Windows Runtime streams.

예제: 콘솔 앱 내에서 동기식 읽기Example: Synchronous read in a console app

다음 예제에서는 콘솔 앱 내에서 동기식 읽기 작업을 보여줍니다.The following example shows a synchronous read operation within a console app. 이 예제에서는 스트림 판독기를 사용하여 텍스트 파일을 열고 콘텐츠를 문자열로 복사한 다음, 콘솔에 문자열을 출력합니다.This example opens the text file using a stream reader, copies the contents to a string, and outputs the string to the console.

중요

이 예제에서는 TestFile.txt 파일이 앱과 동일한 폴더에 이미 존재한다고 가정합니다.The example assumes that a file named TestFile.txt already exists in the same folder as the app.

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        try
        {   // Open the text file using a stream reader.
            using (StreamReader sr = new StreamReader("TestFile.txt"))
            {
            // Read the stream to a string, and write the string to the console.
                String line = sr.ReadToEnd();
                Console.WriteLine(line);
            }
        }
        catch (IOException e)
        {
            Console.WriteLine("The file could not be read:");
            Console.WriteLine(e.Message);
        }
    }
}
Imports System.IO

Class Test
    Public Shared Sub Main()
        Try
            ' Open the file using a stream reader.
            Using sr As New StreamReader("TestFile.txt")
                ' Read the stream to a string and write the string to the console.
                Dim line = sr.ReadToEnd()
                Console.WriteLine(line)
            End Using
        Catch e As IOException
            Console.WriteLine("The file could not be read:")
            Console.WriteLine(e.Message)
        End Try
    End Sub
End Class

예제: WPF 앱에서 비동기식 읽기Example: Asynchronous read in a WPF app

다음 예제에서는 WPF(Windows Presentation Foundation) 앱에서 비동기식 읽기 작업을 보여줍니다.The following example shows an asynchronous read operation in a Windows Presentation Foundation (WPF) app.

중요

이 예제에서는 TestFile.txt 파일이 앱과 동일한 폴더에 이미 존재한다고 가정합니다.The example assumes that a file named TestFile.txt already exists in the same folder as the app.

using System;
using System.IO;
using System.Windows;

namespace TextFiles
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private async void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                using (StreamReader sr = new StreamReader("TestFile.txt"))
                {
                    string line = await sr.ReadToEndAsync();
                    ResultBlock.Text = line;
                }
            }
            catch (FileNotFoundException ex)
            {
                ResultBlock.Text = ex.Message;
            }
        }
    }
}
Imports System.IO
Imports System.Windows

''' <summary>
''' Interaction logic for MainWindow.xaml
''' </summary>

Partial Public Class MainWindow
    Inherits Window
    Public Sub New()
        InitializeComponent()
    End Sub

    Private Async Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs)
        Try
            Using sr As StreamReader = New StreamReader("TestFile.txt")
                Dim line = Await sr.ReadToEndAsync()
                ResultBlock.Text = line
            End Using
        Catch ex As FileNotFoundException
            ResultBlock.Text = ex.Message
        End Try
    End Sub
End Class

참고 항목See also