zoukankan      html  css  js  c++  java
  • [置顶] c#对于文件的操作

    在system.iO;命名空间中提供了两种遍历枚举文件夹的类,Directory 和DirectoryInfo,

    他们都有一个方法GetDirectories();来便利枚举文件夹,


            /// <summary>
            /// 遍历根目录 ,获取专业名称
            /// </summary>
            /// <returns></returns>
            public DataTable GetYearName(string path)
            {
                //string strYear = "";
                DataTable tbYear = new DataTable("年份表");
                string[] arrPath = Directory.GetDirectories(path);
                //添加表头
                tbYear.Columns.Add("id");
                tbYear.Columns.Add("year_url");
                tbYear.Columns.Add("year_name");
                for (int i = 0; i < arrPath.Length / 2; i++)
                {
                    string temp = arrPath[i];
                    arrPath[i] = arrPath[arrPath.Length - 1 - i];
                    arrPath[arrPath.Length - 1 - i] = temp;
                }
                for (int i = 0; i < arrPath.Length; i++)
                {
                   
                    string[] arrSplit = arrPath[i].ToString().Split('\');
                    tbYear.Rows.Add(new object[] { i, arrPath[i], arrSplit[arrSplit.Length - 1] });
    
                }
                return tbYear;
            }
            /// <summary>
            /// 遍历根目录 ,获取专业名称
            /// </summary>
            /// <returns></returns>
            public DataTable GetMajorName(string path)
            {
                DataTable tbMajor = new DataTable("专业表");
                string[] arrPath = Directory.GetDirectories(path);
                //添加表头
                tbMajor.Columns.Add("major_id");
                tbMajor.Columns.Add("major_url");
                tbMajor.Columns.Add("major_name");
                for (int i = 0; i < arrPath.Length; i++)
                {
                    string[] arrSplit = arrPath[i].ToString().Split('\');
                    tbMajor.Rows.Add(new object[] { i, arrPath[i], arrSplit[arrSplit.Length - 1] });
    
                }
                return tbMajor;
                //string strMajor = "";
                //DataTable tbMajor = new DataTable("专业表");
                //tbMajor.Columns.Add("major_name");
                //DirectoryInfo theDepInfo = new DirectoryInfo(path);
                //foreach (DirectoryInfo folder in theDepInfo.GetDirectories())
                //{
                //    strMajor += folder.Name + ",";
                //    tbMajor.Rows.Add(folder.Name);
                //}
                //return tbMajor;
            }
            /// <summary>
            ///  获取专业文件夹下班级名称
            /// </summary>
            /// <param name="majorName">专业名称</param>
            /// <returns></returns>
            public DataTable GetClassName(string path)
            {
                DataTable tbClasses = new DataTable("班级表");
                string[] arrPath = Directory.GetDirectories(path);
                //添加表头
                tbClasses.Columns.Add("class_id");
                tbClasses.Columns.Add("class_url");
                tbClasses.Columns.Add("class_name");
                for (int i = 0; i < arrPath.Length; i++)
                {
                    string[] arrSplit = arrPath[i].ToString().Split('\');
                    tbClasses.Rows.Add(new object[] { i, arrPath[i], arrSplit[arrSplit.Length - 1] });
    
                }
                return tbClasses;
            }
            /// <summary>
            /// 获取班级文件夹下班级名称
            /// </summary>
            /// <param name="majorName">专业名称</param>
            /// <returns></returns>
            public DataTable GetStudentName(string path)
            {
               
                DataTable tbStudents = new DataTable("学生信息表");
                
                string[] arrPath = Directory.GetDirectories(path);
                //添加表头
                tbStudents.Columns.Add("_id");
                tbStudents.Columns.Add("student_url");
                tbStudents.Columns.Add("name");
                tbStudents.Columns.Add("student_num");
                tbStudents.Columns.Add("student_name");
                tbStudents.Columns.Add("teacher");
                tbStudents.Columns.Add("select_topic");
                for (int i = 0; i < arrPath.Length; i++)
                {
                    string[] arrSplit = arrPath[i].ToString().Split('\');
                    string name = arrSplit[arrSplit.Length - 1];
                    if(name.Length<=0)
                    {
                        continue;
                    }
                    string []arrInfo=name.Split(new char[]{'_','-'});
                    if (arrInfo.Length < 4)
                    {
                        continue;
                    }
                    tbStudents.Rows.Add(new object[] { i, arrPath[i], name,arrInfo[0],arrInfo[1],arrInfo[2],arrInfo[3]});
                }
                return tbStudents;
            
            }


    下面是使用了foreach,上面的看起来比较笨,但是专业性会更好一点

     /// <summary>
            ///  获取专业文件夹下班级名称
            /// </summary>
            /// <param name="majorName">专业名称</param>
            /// <returns></returns>
           public DataTable GetClasses(string path,string majorName)
            {
               string strClasses = "";
               DataTable tbClasses = new DataTable("班级表");
               tbClasses.Columns.Add("class_name");
               DirectoryInfo theDepInfo = new DirectoryInfo(rootDirectoryUrl);
               foreach (DirectoryInfo folder in theDepInfo.GetDirectories())
               {
                   strClasses += folder.Name + ",";
                   tbClasses.Rows.Add(new object[] { folder.Name });
            
               }
               return tbClasses;
           }


  • 相关阅读:
    c++ 文本处理
    c++ 汇编代码看内存分配
    c++ Message与Folder 拷贝 析构(没有动态空间的类)
    c++ StrVec等效vector(string)的类
    c++ istream_iterator ostream_iterator
    c++ 子类与父类之间的类型转换
    android中的空格表示
    ViewPager实现每隔两秒自动切换图片
    有关Android ListView根据项数的大小自动改变高度问题
    Android strings.xml中空格符的标识方法附xml特殊字符表示法
  • 原文地址:https://www.cnblogs.com/wsq724439564/p/3258227.html
Copyright © 2011-2022 走看看