'FindFIle'에 해당되는 글 2건

  1. 2008.10.19 유입 키워드 순위가 변동되었다.
  2. 2007.12.25 FindFIle 프로그램 1
나의 이야기/Note2008. 10. 19. 14:44
  우연찮게 내 블로그 상태를 확인하다가 유입 키워드 순위를 확인하였다.

  그러다 유입 키워드 상위권 순위가 바뀐 것을 보았다.

  한번 정리해 보자.

 순위 개수  키워드
 1 12  역행렬 구하기 
 2  8 역행렬
 3  6 C# 계산기
 4  5 C 테트리스,계산기 프로그램
 5  4 Find File
 6  3 역행렬 구하기,C# 간단한 계산기
 7  2 Imagery 가사 해석,델파이 프로그램, 으하하하하하 멍청이
 8  1 기타 등등..

  음.. 본인의 HTML 실력이 형편없는 지라 표를 이쁘게 못만들겠다..

  아무튼 예전의 순위에는 분명 C# 계산기가 1위였고 그 밑으로 FindFile 등이 강세를 보이고 있었는데 어느새 역행렬과 관련된 키워드들이 눈에 띄게 순위가 올라갔다. 특히 12개로 1위를 차지한 '역행렬 구하기'라는 키워드는 이번에 처음 나온 키워드이다.

  아이러니하다. 컴퓨터 관련된 블로그에서 역행렬이 1위라니.. 좋아해야 하나 말아야 하나?

  사실 역행렬 글은 한개밖에 없다. 예전에 선형 대수학을 너무 모르겠어서 역행렬 관련해서 포스팅을 하나 남긴 적이 있었다.(바로가기) 그게 이렇게 올라갈 줄이야. 아마 어느 교육기관의 과제였나 보다. 역행렬. 도움이 되었으려나?

  그리고 C#계산기는 흔한 예제라서 어느정도 검색량이 좀 있었을 것이다. 그래도 내 블로그에서는 별 자료를 못찾았을텐데. 많이 부실한(?) 계산기라. 예전에 C# 프로그래밍 공부할때 살짝 해본건데, 지금 봐도 많이 부끄럽다.(바로가기)

  다음 순위로 C 테트리스가 있는데 이건 1학년 때 텀 프로젝트로 만들었던 과제이다.'러시안 테트리스'라(고 이름이 붙여진) 게임인데 테트리스라기 보다는 테트리스 블록을 가지고 하는 땅따먹기 같은 게임에 가깝다.(바로가기)

  마지막으로 FindFile. 군대 가기 전에 했던 프로젝트 중 하나이다. C#으로 만들었고, 작은 아버지께서 파일 백업 프로그램을 찾고 있어서 하나 만들다가 그것과 관련된 파일 찾기 기능을 테스트 한다고 만들었던 프로그램이다. (바로가기)

  이외에도 Imagery 가사, 델파이 관련 자료, 이지아(였나?)가 으하하하하하~ 멍청이 하는 플래시, 우리과 탁성우 교수님, 민중가요, 심지어 '이지아 멍청이'같은 재밌는 키워드도 많이 나왔다. 물론 많이 낚이셨을 것이다 ^^

  앞으로도 좋은 포스팅 많이 하도록 노력해서, 검색하셔서 블로그를 찾아오시는 분들이 유용한 정보 많이 받아 가셨으면 좋겠다.
Posted by 머리
Study - Programming/C#2007. 12. 25. 22:31

검색할 파일과 경로를 입력받아서 하위디렉토리까지 포함해서 경로를 검색하는 프로그램이다.

책에 있던 파일 찾기 예제를 조금 수정했다. 원래 예제는 하위 디렉토리는 검색하지 못해서 재귀를 이용해서 만들어 보았다.

사용자 삽입 이미지

다음은 가장 핵심인 FindFile() 메서드이다. 파라미터의 str은 찾을 파일(또는 형식)이고 dir은 경로이다.

        void FindFile(string str,string dir)
        {
            string tdir = dir.Trim();

            if (dir == "")
            {
                MessageBox.Show("검색할 디렉토리를 입력하세요");
                return;
            }

            string[] files_list;
            try
            {
                DirectoryInfo dinfo = new DirectoryInfo(tdir);
                DirectoryInfo[] subdir = dinfo.GetDirectories();


                files_list = Directory.GetFiles(tdir, str);

                for (int i = 0; i < files_list.Length; i++)
                {
                    ListViewItem item1 = new ListViewItem(files_list[i], 0);

                    FileInfo finfo = new FileInfo(files_list[i]);

                    item1.SubItems.Add(finfo.Length.ToString() + "Byte");
                    item1.SubItems.Add(finfo.CreationTime.ToString());

                    lst_View.Items.Add(item1);
                }

                foreach (DirectoryInfo d in subdir)
                {
                    tdir = d.FullName;
                    if((d.Attributes & FileAttributes.System) <= 0)
                    {
                        FindFile(str,tdir);

                        files_list = Directory.GetFiles(tdir, str);

                        for (int i = 0; i < files_list.Length; i++)
                        {
                            ListViewItem item1 = new ListViewItem(files_list[i], 0);

                            FileInfo finfo = new FileInfo(files_list[i]);

                            item1.SubItems.Add(finfo.Length.ToString() + "Byte");
                            item1.SubItems.Add(finfo.CreationTime.ToString());

                            lst_View.Items.Add(item1);
                        }
                    }

                }


            }
            catch(Exception e)
            {
               
                Console.WriteLine("파일 검색 중 예외 발생");
                Console.WriteLine(e.Message);
                Console.WriteLine(e.ToString());
                Console.WriteLine(tdir);
            }
        }

처음에 자꾸 예외가 발생해서 애를 많이 먹었다. 보니 System Volume Information부분에 권한도 없이 자꾸 접근해서 프로그램이 꺼지는 것이다. 그래서 데브피아에 알아봐서

if((d.Attributes & FileAttributes.System) <= 0)

이렇게 해서 System 관련 디렉토리는 접근하지 않게 해 놓았다.

FileSystem 클래스에 이놈도 넣어 놔야지.

Posted by 머리