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("test.txt")
MsgBox(fileReader)
인코딩된 텍스트 파일에서 읽으려면
개체의 ReadAllText 메서드를 My.Computer.FileSystem 사용하여 텍스트 파일의 내용을 문자열로 읽고 경로 및 파일 인코딩 형식을 제공합니다. 다음 예제에서는 test.txt UTF32 파일의 내용을 문자열로 읽은 다음 메시지 상자에 표시합니다.
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("test.txt",
System.Text.Encoding.UTF32)
MsgBox(fileReader)
텍스트 파일에서 RichTextBox 컨트롤로 읽으려면
텍스트 파일의 내용을 RichTextBox 컨트롤에 직접 로드하려면 파일 내용을 문자열로 읽고 RichTextBox의 속성에 할당 Text 합니다. 다음 예제에서는 텍스트 파일을 읽고 RichTextBox 컨트롤에 로드하는 방법을 보여 줍니다.
' Load text file into a RichTextBox control
' Note: This assumes RichTextBox1 is a control on your form
Dim fileText As String
fileText = My.Computer.FileSystem.ReadAllText("test.txt")
' RichTextBox1.Text = fileText
오류 처리 및 파일 경로 관리를 향상하기 위해 적절한 파일 경로를 생성하고 잠재적인 예외를 처리하는 다음 방법을 사용할 수 있습니다. 이 방법은 다른 시스템에서 문제를 일으킬 수 있는 하드 코딩된 드라이브 경로를 방지합니다.
' Load text file into a RichTextBox control using a specific path
Try
Dim filePath As String = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "test.txt")
Dim fileText As String = My.Computer.FileSystem.ReadAllText(filePath)
' RichTextBox1.Text = fileText
Catch ex As System.IO.FileNotFoundException
MsgBox("File not found: " & ex.Message)
Catch ex As Exception
MsgBox("Error reading file: " & ex.Message)
End Try
비고
파일 경로를 지정할 때는 드라이브 문자 또는 디렉터리 구조가 다른 시스템에서 문제가 발생할 수 있으므로 "C:\temp\file.txt"와 같은 하드 코딩된 절대 경로를 사용하지 마세요. 대신 상대 경로를 사용 Combine 하거나 경로를 생성하여 코드가 여러 환경에서 작동하는지 확인합니다.
강력한 프로그래밍
다음 조건에서 예외가 발생합니다.
경로는 길이가 0인 문자열이거나, 공백만 포함하거나, 잘못된 문자를 포함하거나, 디바이스 경로(ArgumentException)인 등의 이유로 유효하지 않습니다.
경로가 (
Nothing)이므로 ArgumentNullException 유효하지 않습니다.파일이 없습니다(FileNotFoundException).
파일이 다른 프로세스에서 사용 중이거나 I/O 오류가 발생합니다(IOException).
경로가 시스템 정의 최대 길이(PathTooLongException)를 초과합니다.
경로의 파일 또는 디렉터리 이름에 콜론(:) 포함되거나 잘못된 형식(NotSupportedException)이 있습니다.
버퍼(OutOfMemoryException)에 문자열을 쓸 메모리가 부족합니다.
사용자에게 경로(SecurityException)를 보는 데 필요한 권한이 없습니다.
파일 이름을 바탕으로 파일 내용을 판단하면 안 됩니다. 예를 들어 Form1.vb 파일이 Visual Basic 소스 파일이 아닐 수도 있습니다.
애플리케이션에서 데이터를 사용하기 전에 모든 입력을 확인해야 합니다. 파일의 내용이 예상과 다를 수 있으며 파일에서 읽는 메서드가 실패할 수 있습니다.
참고하십시오
.NET