日期:2014-05-18  浏览次数:20452 次

对TXT文件的操作
我在D盘放一个‘数据管理’的文件夹,文件夹下面按日期为名称又有若干个文件夹,每个文件夹下面上传了好多TXT文档。我现在要输一个关键字,怎么把包含关键字文档的地址都找出来··比如:D://数据管理/0110.XXX.txt!!!在这先谢谢各位了··

------解决方案--------------------
C# code

        string strPath = @"D://数据管理/";
        System.Collections.Generic.List<string> searchNames=new System.Collections.Generic.List<string>();
        getFileNames(strPath, "1", searchNames);
        return searchNames;     // 此时的searchNames已经获取到了所有文件名


    ... ...

    /// <summary>
    /// 根据条件为searchNames赋值
    /// </summary>
    /// <param name="strPath">给定路径</param>
    /// <param name="strKeyWords">给定查询关键字</param>
    /// <param name="searchNames">要存放的List</param>
    private void getFileNames(string strPath, string strKeyWords, System.Collections.Generic.List<string> searchNames)
    {
        string[] direcNames = Directory.GetDirectories(strPath);
        string[] fileNames = Directory.GetFiles(strPath);
        for (int i = 0; i < fileNames.Length; i++)
        {
            if (fileNames[i].Contains(strKeyWords))
            {
                searchNames.Add(fileNames[i]);
            }
        }
        for (int i = 0; i < direcNames.Length; i++)
        {
            getFileNames(direcNames[i], strKeyWords, searchNames);
        }
    }

------解决方案--------------------
C# code


           string[] strName= System.IO.Directory.GetFiles("D://数据管理", "关键字", System.IO.SearchOption.AllDirectories);
            List<string> list=new List<string>();
           foreach (string s in strName)
           {
               if (s.EndsWith(".txt"))
                   list.Add(s);
           }