다음을 통해 공유


방법: Visual Basic에서 텍스트 파일 읽기

My.Computer.FileSystem 개체의 ReadAllText 메서드를 사용하면 텍스트 파일을 읽을 수 있습니다.파일 내용에 ASCII 또는 UTF-8 등의 인코딩이 사용된 경우 파일 인코딩을 지정할 수 있습니다.

확장 문자가 사용된 파일을 읽을 때는 파일 인코딩을 지정해야 합니다.

[!참고]

파일의 텍스트를 한 번에 한 줄씩 읽으려면 My.Computer.FileSystem 개체의 OpenTextFileReader 메서드를 사용합니다.OpenTextFileReader 메서드는 StreamReader 개체를 반환합니다.StreamReader 개체의 ReadLine 메서드를 사용하여 파일을 한 번에 한 줄씩 읽을 수 있습니다.StreamReader 개체의 EndOfStream 메서드를 사용하여 파일의 끝인지 여부를 테스트할 수 있습니다.

텍스트 파일을 읽으려면

  • My.Computer.FileSystem 개체의 ReadAllText 메서드에 경로를 지정하여 텍스트 파일의 내용을 문자열로 읽어옵니다.다음 예제에서는 test.txt의 내용을 문자열로 읽어온 다음 그 내용을 메시지 상자에 표시합니다.

    Dim fileReader As String
    fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt")
    MsgBox(fileReader)
    

인코딩된 텍스트 파일을 읽으려면

  • My.Computer.FileSytem 개체의 ReadAllText 메서드에 경로와 파일 인코딩 형식을 지정하여 텍스트 파일의 내용을 문자열로 읽어옵니다.다음 예제에서는 UTF32 파일인 test.txt의 내용을 문자열로 읽어온 다음 그 내용을 메시지 상자에 표시합니다.

    Dim fileReader As String
    fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt",
       System.Text.Encoding.UTF32)
    MsgBox(fileReader)
    

강력한 프로그래밍

다음 조건에서 예외가 발생할 수 있습니다.

  • 길이가 0인 문자열이거나, 공백만 포함하거나, 잘못된 문자를 포함하거나, 경로가 장치 경로인 경우와 같은 여러 가지 이유 중 하나로 경로가 올바르지 않은 경우(ArgumentException)

  • 경로가 Nothing이기 때문에 올바르지 않은 경우(ArgumentNullException)

  • 파일이 없는 경우(FileNotFoundException)

  • 다른 프로세스에서 파일을 사용 중이거나 I/O 오류가 발생한 경우(IOException)

  • 경로가 시스템 정의 최대 길이를 초과하는 경우(PathTooLongException)

  • 경로의 파일 이름이나 디렉터리 이름에 콜론(:)이 있거나 이름의 형식이 잘못된 경우(NotSupportedException)

  • 문자열을 버퍼에 쓰기 위한 메모리가 부족한 경우(OutOfMemoryException)

  • 경로를 보는 데 필요한 권한이 사용자에게 없는 경우(SecurityException)

파일 이름을 바탕으로 파일 내용을 판단하면 안 됩니다.예를 들어, Form1.vb 파일이 Visual Basic 소스 파일이 아닐 수도 있습니다.

응용 프로그램에서 데이터를 사용하기 전에 모든 입력을 확인해야 합니다.파일의 내용이 예상한 내용과 다를 수 있으며 파일을 읽는 메서드가 실패할 수도 있습니다.

참고 항목

작업

방법: Visual Basic에서 쉼표로 구분된 텍스트 파일 읽기

방법: Visual Basic에서 고정 너비 텍스트 파일 읽기

방법: Visual Basic에서 여러 형식의 텍스트 파일 읽기

문제 해결: 텍스트 파일 읽기 및 쓰기(Visual Basic)

연습: Visual Basic에서 파일과 디렉터리 조작

참조

FileSystem

ReadAllText

개념

파일 인코딩(Visual Basic)

기타 리소스

Visual Basic에서 파일 읽기