public void FileWrite(string filename, string filepath) { FIleInformation f = new FIleInformation(); // FileInformation 객체를 생성 string f_path = FilePath + "except_memo.txt"; //상대경로 제외 내역 파일 경로 설정 f.FilePath = f_path; //상대경로를 객체 f 에 저장 try { FileStream fs = new FileStream(@f_path, FileMode.Append, FileAccess.Write); //이어쓰기 모드로 파일을 열고 없으면 만든다. stream_write = new StreamWriter(fs); //상대경로로 쓰기파일 생성 stream_write.WriteLine(filename + "\t" + f.getFileLastTime(f_path) + "\t" + filepath); //파일명, 파일 마지막 사용 일자, 파일 경로 텍스트파일에 저장 stream_write.Close(); // 파일 닫기 fs.Close(); // 이어쓰기모드 닫기 } catch (IOException) { } }
public void getFiles(List <string> fileExt, string filePath, FIleInformation file) { try { ExceptMemo except_memo = new ExceptMemo(); //제외내역 객체 생성 string[] files; string[] dirs = Directory.GetDirectories(filePath); //하위 디렉토리 경로를 배열에 저장 if (_MAX_PATH.MAX_PATH > filePath.Length) //경로의 길이가 최대 길이보다 작을 경우만 실행 { //label1.Text = dirs[index++]; for (int i = 0; i < fileExt.Count(); i++) { //확장자 수 만큼 반복 try { files = Directory.GetFiles(filePath, fileExt[i]); //디렉토리 경로에 있는 설정한 확장자와 같은 파일들의 목록을 배열에 저장 foreach (string f in files) { f_Path = f; //경로를 저장 timer2.Start(); //timer로 딜레이를 줘서 실시간으로 검색내역 보여줌 timer1.Start(); if (file.getFileLastDay(f) >= int.Parse(LastDay))//설정한 마지막 사용일자와 같거나 큰 내역만 출력 { file.FilePath = f; except_memo.FileRead(); //제외 내역을 읽어옴 bool result = true; if (except_memo.Except_memo.Count() > 0) //제외내역이 존재할 경우 { for (int j = 0; j < except_memo.Except_memo.Count(); j++) {//제외내역 수만큼 반복 string str = except_memo.Except_memo[j]; string[] split_str = str.Split('\t'); if (split_str[2].Equals((file.getFileDirectoryName() + "\\" + file.getFileName()))) { // 제외 내역에 있는 파일 경로와 검색하고있는 파일경로를 비교해 같으면 result = false; //result에 false를 주고 break; //반복문을 빠져나감 } } if (result) //제외 내역이 아닌 경우 리스트뷰에 아이템 추가 { ListViewItem lvt = new ListViewItem(); progressBar1.PerformStep(); lvt.SubItems.Add(file.getFileName()); lvt.SubItems.Add(file.getFileSize()); lvt.SubItems.Add(file.getFileLastTime(f)); lvt.SubItems.Add(file.getFileDirectoryName() + "\\" + file.getFileName()); listView1.Items.Add(lvt); except_memo.Except_memo = new List <string>(); } } else { ListViewItem lvt = new ListViewItem(); progressBar1.PerformStep(); lvt.SubItems.Add(file.getFileName()); lvt.SubItems.Add(file.getFileSize()); lvt.SubItems.Add(file.getFileLastTime(f)); lvt.SubItems.Add(file.getFileDirectoryName() + "\\" + file.getFileName()); listView1.Items.Add(lvt); } } } } catch (ArgumentOutOfRangeException) { } } if (dirs.Length > 0) { foreach (string dir in dirs) { getFiles(fileExt, dir, file); } } } } catch (Exception) { } }