다음을 통해 공유


.NET Framework 파일 I/O 및 파일 시스템의 기본 사항(Visual Basic)

네임스페이 System.IO 스의 클래스는 드라이브, 파일 및 디렉터리로 작업하는 데 사용됩니다.

네임스페이스에는 System.IOFile 클래스가 포함되어 있으며, 이 클래스들은 파일 및 디렉터리를 조작하는 .NET Framework 기능을 제공합니다. 이러한 개체의 메서드는 정적 또는 공유 멤버이므로 먼저 클래스의 인스턴스를 만들지 않고 직접 사용할 수 있습니다. 이러한 클래스에 연결된 FileInfoDirectoryInfo 클래스는 My 기능 사용자에게 친숙할 것입니다. 이러한 클래스를 사용하려면 영향을 받는 코드의 시작 부분에 문을 포함하여 Imports 이름을 정규화하거나 적절한 네임스페이스를 가져와야 합니다. 자세한 내용은 Imports 문구(.NET 네임스페이스 및 형식)을 참조하세요.

비고

이 섹션의 다른 항목에서는 클래스 대신 My.Computer.FileSystem 개체를 사용하여 System.IO 드라이브, 파일 및 디렉터리로 작업합니다. 개체 My.Computer.FileSystem 는 주로 Visual Basic 프로그램에서 사용하기 위한 것입니다. System.IO 클래스는 Visual Basic을 포함하여 .NET Framework를 지원하는 모든 언어에서 사용하기 위한 것입니다.

스트림 정의

.NET Framework는 스트림을 사용하여 파일에서 읽기 및 쓰기를 지원합니다. 스트림은 시작과 끝이 있고 커서가 스트림의 현재 위치를 나타내는 연속 데이터의 1차원 집합으로 생각할 수 있습니다.

커서는 파일 스트림의 현재 위치를 표시합니다.

스트림 작업

스트림에 포함된 데이터는 메모리, 파일 또는 TCP/IP 소켓에서 올 수 있습니다. 스트림에는 적용할 수 있는 기본 작업이 있습니다.

  • 읽기. 스트림에서 읽고 스트림에서 문자열 또는 바이트 배열과 같은 데이터 구조로 데이터를 전송할 수 있습니다.

  • 쓰기. 스트림에 데이터를 쓸 수 있으며, 데이터 원본에서 스트림으로 데이터를 전송할 수 있습니다.

  • 찾고 있습니다. 스트림에서 위치를 쿼리하고 수정할 수 있습니다.

자세한 내용은 스트림 작성을 참조하세요.

스트림 유형

.NET Framework에서 스트림은 다른 모든 스트림의 추상 클래스를 형성하는 Stream 클래스로 표현됩니다. 클래스의 Stream 인스턴스를 직접 만들 수는 없지만 구현하는 클래스 중 하나를 사용해야 합니다.

여러 유형의 스트림이 있지만 파일 입력/출력(I/O)을 사용하기 위해 가장 중요한 형식은 FileStream 파일을 읽고 쓰는 방법을 제공하는 클래스와 IsolatedStorageFileStream 격리된 스토리지에 파일 및 디렉터리를 만드는 방법을 제공하는 클래스입니다. 파일 I/O를 사용할 때 사용할 수 있는 다른 스트림은 다음과 같습니다.

다음 표에서는 스트림으로 일반적으로 수행되는 작업을 나열합니다.

에게 보십시오
데이터 파일 읽기 및 쓰기 방법: 새로 만든 데이터 파일 읽기 및 쓰기
파일에서 텍스트 읽기 방법: 파일에서 텍스트 읽기
파일에 텍스트 쓰기 방법: 파일에 텍스트 쓰기
문자열에서 문자 읽기 방법: 문자열에서 문자 읽기
문자열에 문자 쓰기 방법: 문자열에 문자 쓰기
데이터 암호화 데이터 암호화
데이터 암호 해독 데이터 암호 해독

파일 액세스 및 특성

FileAccess, FileMode, 그리고 FileShare 열거형은 FileStream 클래스의 생성자가 사용하는 플래그를 포함하고 있으며, 이를 통해 파일을 생성, 열기, 공유하는 방법을 제어할 수 있습니다. 예를 들어 새 FileStreamFileMode 파일을 열거나 만들 때 열거형을 사용하면 파일을 추가할 수 있는지 여부, 지정된 파일이 없는 경우 새 파일이 만들어지는지 여부, 파일을 덮어쓸지 여부 등을 지정할 수 있습니다.

열거형을 FileAttributes 사용하면 파일 관련 정보를 수집할 수 있습니다. 열거형은 FileAttributes 파일의 저장된 특성(예: 압축, 암호화, 숨김, 읽기 전용, 보관 파일, 디렉터리, 시스템 파일 또는 임시 파일)을 반환합니다.

다음 표에서는 파일 액세스 및 파일 특성과 관련된 작업을 나열합니다.

에게 보십시오
로그 파일 열기 및 추가 방법: 로그 파일 열기 및 추가
파일의 특성 확인 FileAttributes

파일 사용 권한

클래스를 사용하여 파일 및 디렉터리에 대한 액세스를 제어할 FileIOPermission 수 있습니다. 이는 Web Forms로 작업하는 개발자에게 특히 중요할 수 있으며, 이는 기본적으로 ASP.NET 및 .NET Framework 설치의 일부로 만들어지는 ASPNET이라는 특수한 로컬 사용자 계정의 컨텍스트 내에서 실행됩니다. 이러한 애플리케이션이 리소스에 대한 액세스를 요청하는 경우 ASPNET 사용자 계정에는 제한된 권한이 있으므로 사용자가 웹 애플리케이션에서 파일에 쓰는 등의 작업을 수행하지 못할 수 있습니다. 자세한 내용은 FileIOPermission를 참조하세요.

격리된 파일 스토리지

격리된 스토리지는 사용자 또는 코드에 필요한 권한이 부족할 수 있는 파일로 작업할 때 발생하는 문제를 해결하기 위한 시도입니다. 격리된 스토리지는 각 사용자에게 하나 이상의 저장소를 보유할 수 있는 데이터 구획을 할당합니다. 저장소는 사용자와 어셈블리를 통해 서로 격리할 수 있습니다. 저장소를 만든 사용자 및 어셈블리만 액세스할 수 있습니다. 저장소는 완전한 가상 파일 시스템 역할을 하며, 한 저장소 내에서 디렉터리와 파일을 만들고 조작할 수 있습니다.

다음 표에서는 일반적으로 격리된 파일 스토리지와 연결된 작업을 나열합니다.

에게 보십시오
격리된 저장소 만들기 방법: 격리된 스토리지에 대한 저장소 가져오기
격리된 스토어 나열 격리된 저장소의 스토어 열거 방법
격리된 저장소 삭제 방법: 격리된 스토리지의 저장소 삭제
격리된 스토리지에 파일 또는 디렉터리 만들기 방법: 격리된 스토리지에서 파일 및 디렉터리 만들기
격리된 스토리지에서 파일 찾기 방법: 격리된 스토리지에서 기존 파일 및 디렉터리 찾기
격리된 스토리지의 파일에서 읽거나 파일에 쓰기 방법: 격리된 스토리지의 파일 읽기 및 쓰기
격리된 스토리지에서 파일 또는 디렉터리 삭제 방법: 격리된 스토리지에서 파일 및 디렉터리 삭제

파일 이벤트

FileSystemWatcher 구성 요소를 사용하면 시스템 또는 네트워크에 액세스할 수 있는 컴퓨터의 파일 및 디렉터리 변경 내용을 확인할 수 있습니다. 예를 들어 파일이 수정된 경우 변경이 수행되었다는 경고를 사용자에게 보낼 수 있습니다. 변경이 발생하면 하나 이상의 이벤트가 발생하고 버퍼에 저장되며 처리를 위해 구성 요소에 FileSystemWatcher 전달됩니다.

참고하십시오