다음을 통해 공유


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

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

확장 문자가 있는 파일에서 읽는 경우 파일 인코딩을 지정해야 합니다.

비고

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

텍스트 파일에서 읽으려면

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

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

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

개체의 ReadAllText 메서드를 My.Computer.FileSystem 사용하여 텍스트 파일의 내용을 문자열로 읽고 경로 및 파일 인코딩 형식을 제공합니다. 다음 예제에서는 test.txt UTF32 파일의 내용을 문자열로 읽은 다음 메시지 상자에 표시합니다.

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 소스 파일이 아닐 수도 있습니다.

애플리케이션에서 데이터를 사용하기 전에 모든 입력을 확인해야 합니다. 파일의 내용이 예상과 다를 수 있으며 파일에서 읽는 메서드가 실패할 수 있습니다.

참고하십시오