zoukankan      html  css  js  c++  java
  • 递归算法运用到实际项目,可行吗?

    说明:将指定文件路径对应的所有文件和文件夹以及子文件夹保存到数据库

    点击页面的button按钮触发事件

                string path=//z这里在界面获取用户输入绝对路径

                int start = path.LastIndexOf(@"\") + 1;
                string root = path.Substring(start);// 根目录
                FolderMange.InsertFolder(1, root, "文件夹", " ");//存入数据库,我自己定义一个方法
                ShowFiles(path, root);   //递归

       数据库字段id 、pid(所属id)、 type(类型)、 size(大小)

         /// <summary>
            /// 递归文件与文件夹
            /// </summary>
            /// <param name="path"></param>
            /// <param name="filename"></param>
            private static void ShowFiles(string path, string filename)
            {
                FolderManage m_FolderMange = new FolderManage();
                int index = m_FolderMange.ReadIndex(filename);
                DirectoryInfo dirs = new DirectoryInfo(path);
                DirectoryInfo[] folders = dirs.GetDirectories();
                FileInfo[] files = dirs.GetFiles();
                foreach (var item in files)
                {
                    // 文件
                    string filetype = GetFileType(item.Name);
                    string size = Convert.ToString(item.Length / 1024);
                    m_FolderMange.InsertFolder(index, item.Name, filetype, size);
                }

                foreach (var item in folders)
                {
                    // 文件夹
                    m_FolderMange.InsertFolder(index, item.Name, "文件夹", " ");
                    // 递归算法
                    ShowFiles(item.FullName, item.Name);

                }
            }

  • 相关阅读:
    Android入门程序(ListView包括一个网络状态显示)
    shell
    android.os.NetworkOnMainThreadException
    apache虚拟主机名不区分大小写的解决办法
    QT制作全屏播放器以及出现的问题
    QT使用Q_OBJECT链接不通过的一种情况
    使用PHP返回需要登录验证的HTML页面
    怎么样得到Boost的options_description的描述字符串
    QT的QHttp无信号发出,窗口程序关闭时崩溃
    apache 配置https
  • 原文地址:https://www.cnblogs.com/walleyekneel/p/2119579.html
Copyright © 2011-2022 走看看