Beispiel #1
0
        private void Serach_btn_Click(object sender, EventArgs e)
        {
            timer1.Interval = 2000;
            timer2.Interval = 1000;

            label1.Text = Path;

            try
            {
                listView1.Items.Clear();
                progressBar1.Value = 0;

                progressBar1.Step = 100;
                FIleInformation f = new FIleInformation();

                getFiles(EXT, Path, f);
                progressBar1.PerformStep();
            }
            catch (Exception)
            {
                MessageBox.Show("등록된 확장자가 없습니다!!");
            }
        }
Beispiel #2
0
        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)
            {
            }
        }
Beispiel #3
0
        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)
            {
            }
        }