1)Directory 클래스

디렉토리 클래스도 static 클래스 입니다.

메서드

DirectoryInfo CreateDirectory(string path)

Delete(string path, bool recursive)

Move(string source, string dest)

bool Exists(string path)

string[] GetFiles(string path, string pattern, SearchOption Option)

pattern은 생략가능하며 “필터링할 조건

Option은 하위 디렉토리 검사여부로 TopDirectoryOnly이면 path만 검사하고 AllDirectories이면 서브 디렉토리 까지 검사

string[] GetDirectories(string path, string pattern, SearchOption Option)

디렉토리 검사

string[] GetFileSystemEntries(string path, string Pattern)

파일과 디렉토리 모두 검사


예제) C드라이브의 폴더와 디렉토리 그리고 txt 파일 검색

1. 폼에 리스트 박스 1개와 버튼 2개 배치

모두 검색과 txt 검색


2. 모두 검색 버튼의 Click 이벤트 작성

listBox1.Items.Clear();

string[] Files = Directory.GetFileSystemEntries("C:\\");

foreach (string Name in Files)

{

listBox1.Items.Add(Name);

}


3. txt 파일 검색

listBox1.Items.Clear();

string[] Files = Directory.GetFiles("C:\\Windows","*.txt",SearchOption.AllDirectories);

foreach (string Name in Files)

listBox1.Items.Add(Name);


2) FileSystemWatchar

운영체제의 파일시스템 변화를 통지하는 컴포넌트


생성자

public FileSystemWatcher(string path, string filter)


변화 감지를 위한 프로퍼티

NotifyFilter 프로퍼티에 OR 연산자를 이용해 아래 값들을 설정

Attributes: 파일 또는 폴더의 속성 변화

CreateTime, DirectoryName, FileName, LastAccess, LastWrite, Security, Size


서브 디렉토리까지 감시하고자 할 때는 IncludeSubdirectories 프로퍼티를 true로 설정


예제)

1. 폼에 FileSystemWatcher 컨트롤 1개 배치


2. 프로퍼티 변경

Path C:\로 설정

IncludeSubdirectories true로 설정


3. fileSystemWatcher1 Changed 이벤트 작성

listBox1.Items.Add("파일이나 폴더가 변경되었습니다.");


4. fileSystemWatcher1 Created 이벤트 작성

listBox1.Items.Add("파일이나 폴더가 추가되었습니다.");


5. fileSystemWatcher1 Deleted 이벤트 작성

listBox1.Items.Add("파일이나 폴더가 삭제되었습니다.");


6. fileSystemWatcher1 Renamed 이벤트 작성

listBox1.Items.Add("파일이나 폴더의 이름이 변경되었습니다.");

'ByteCode > C#' 카테고리의 다른 글

Invoke 개념 이해하기  (0) 2010.03.18
파일 관리  (0) 2010.03.18
드래그앤 드랍  (0) 2010.03.18
이미지 크기 변환  (0) 2010.03.18
ListView 마우스 더블클릭 정보 얻기  (0) 2010.03.18

+ Recent posts