네임스페이 System.IO 스의 클래스는 드라이브, 파일 및 디렉터리로 작업하는 데 사용됩니다.
네임스페이스에는 System.IO 및 File 클래스가 포함되어 있으며, 이 클래스들은 파일 및 디렉터리를 조작하는 .NET Framework 기능을 제공합니다. 이러한 개체의 메서드는 정적 또는 공유 멤버이므로 먼저 클래스의 인스턴스를 만들지 않고 직접 사용할 수 있습니다. 이러한 클래스에 연결된 FileInfo 및 DirectoryInfo 클래스는 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 전달됩니다.
참고하십시오
.NET