My.Computer.FileSystem 개체는 파일 및 폴더 작업을 위한 도구를 제공한다. 이 개체의 속성, 메서드 및 이벤트를 사용하여 파일과 폴더를 생성, 복사, 이동, 조사 및 삭제할 수 있다.
텍스트 파일 읽기
My.Computer.FileSystem 개체의 ReadAllText 메서드를 사용하면 텍스트 파일을 읽을 수 있다. 파일 내용이 ASCII 또는 UTF-8 등의 인코딩이 사용된 경우 파일 인코딩을 지정할 수 있다.
텍스트 파일을 읽으려면 My.Computer.FileSystem 개체의 ReadAllText 메서드에 경로를 지정하여 텍스트 파일의 내용을 문자열로 읽어 온다.
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("c:\test.txt")
인코딩된 텍스트 파일을 읽으려면 ReadAllText 메서드에 인코딩을 지정할 수 있다.
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("c:\test.txt", System.Text.Encoding.UTF32)
만약, 쉼표와 같은 구분자로 구분된 텍스트 파일을 읽고자 한다면 TextFieldParser 개체를 사용한다. TextFieldParser 개체를 사용하면 로그와 같은 구조화된 텍스트 파일을 쉽게 효과적으로 구문 분석할 수 있다. TextFieldType 속성은 파일이 구분된 파일인지 텍스트가 고정 너비 필드인 파일인지를 정의한다.
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser("c:\test.txt")
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(",")
Dim currentRow As String()
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
Dim currentFiled As String
For Each currentFiled In currentRow
MsgBox(currentField)
Next
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox(ex.Message)
End Try
End While
End Using
이진 파일 읽기
이진 파일을 읽기 위해서는 My.Computer.FileSystem 개체의 ReadAllBytes 메서드를 사용한다. ReadAllBytes는 파일의 내용을 바이트 배열로 반환한다.
My.Computer.FileSystem.ReadAllBytes("c:\selfportrait.jpg")
StreamReader를 사용하여 텍스트 읽기
My.Computer.FileSystem 개체는 TextReader 및 TextWriter를 여는 메서드를 제공한다.
다음 예제는 testFile.txt 라는 파일을 열어서 한 줄을 읽은 다음 메시지 상자에 표시한다.
Dim fileReader As System.IO.StreamReader
fileReader = My.Computer.FileSystem.OpenTextFileReader("C:\\testfile.txt")
Dim stringReader As String
stringReader = fileReader.ReadLine()
MsgBox("The first line of the file is " & stringReader)
'VB.NET 2008 > VB - 파일 액세스' 카테고리의 다른 글
FTP - FTP 서버에서 파일의 수정일 가져오기 (0) | 2011.12.24 |
---|---|
파일 액세스 - 파일, 디렉토리 및 드라이브 속성 (0) | 2011.12.23 |
파일 액세스 - 파일/디렉토리 만들기, 삭제 및 이동 (0) | 2011.12.23 |
파일 액세스 - 파일 쓰기 (0) | 2011.12.23 |
파일 액세스 - FileStream을 사용하여 파일 복사 (0) | 2011.12.23 |