95992828九五至尊2

文本和文书文件夹按期间,落成对点名文件夹汉语件按修改时间排序

四月 21st, 2019  |  九五至尊ii

string path = “~/Document/Introduction/团队管理制度/”;
            DirectoryInfo dirinfo = new
DirectoryInfo(Server.MapPath(path));
            FileInfo[] Files = dirinfo.GetFiles();
            Array.Sort<FileInfo>(Files, new
FIleLastTimeComparer());

对于文本和文书夹有三种排序格局,常用的就是按创制或涂改时间、按文件名排序。在
C# 中,定时间和文书名排序都拾叁分差不多,用数组提供的排序方法 Array.Sort()
1行代码就足以解决,当然也能够用常用的排序方法,如快捷排序、冒泡排序等。

//在页面上出示方今立异的三个公文的下载链接
            for (int i = 0; i < 2; i++)
            {
                Literal literal = new Literal();
                literal.Text = “</br>”;
                Panel壹.Controls.Add(literal);//达成换行突显
                HyperLink hypelink = new HyperLink();
                hypelink.NavigateUrl = path + Files[i].Name;
                hypelink.Text = Files[i].Name;
                Panel1.Controls.Add(hypelink);

  文件排序的主意也适用于文件夹,只是传递的变量差异。为了便利使用,将分头列出C#文本排序和文书夹排序三种常用方法,分别为:按名称顺序与倒序排序、按期间各类与倒序。

           }

 

 

  一、C#文本排序

  1、按名称顺序排列

  /// <summary>
  /// C#按文件名排序(顺序)
  /// </summary>
  /// <param name=”arrFi”>待排序数组</param>
  private void SortAsFileName(ref FileInfo[] arrFi)
  {
    Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returnx.Name.CompareTo(y.Name); });
  }

  调用方法:

  private void SortFiles()
  {
    string filePath = “E:\\”;
    DirectoryInfo di = new DirectoryInfo(filePath);

    FileInfo[] arrFi = di.GetFiles(“*.*”);
    SortAsFileName(ref arrFi);

    for (int i = 0; i <
arrFi.Length; i++)
      Response.Write(arrFi[i].Name + “:<br
/>”);
  }

  上边的代码是对 E
盘根目录下的装有文件排序,代码测试通过,可一直调用。

 

  贰、按名称倒序排列

  /// <summary>
  /// C#按文件名排序(倒序)
  /// </summary>
  /// <param name=”arrFi”>待排序数组</param>
  private void SortAsFileName(ref FileInfo[] arrFi)
  {
    Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returny.Name.CompareTo(x.Name); });
九五至尊ii,  }

  调用方法跟顺序排列同样,就比不上如了。

 

  三、按创设时间顺序排列

  /// <summary>
  /// C#按创设时间排序(顺序)
  /// </summary>
  /// <param name=”arrFi”>待排序数组</param>
  private void SortAsFileCreationTime(ref FileInfo[] arrFi)
  {
    Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returnx.CreationTime.CompareTo(y.CreationTime); });
  }

  调用方法与上同。

 

  四、按成立时间倒序排列

  /// <summary>
  /// C#按创立时间排序(倒序)
  /// </summary>
  /// <param name=”arrFi”>待排序数组</param>
  private void SortAsFileCreationTime(ref FileInfo[] arrFi)
  {
    Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { returny.CreationTime.CompareTo(x.CreationTime); });
  }

  调用方法与上同。

 

 

public class FIleLastTimeComparer : IComparer<FileInfo>
    {
        public int Compare(FileInfo x, FileInfo y)
        {
            return y.LastWriteTime.CompareTo(x.LastWriteTime);//递减
          //return x.LastWriteTime.CompareTo(y.LastWriteTime);//递增
        }
    }

  二、C#文件夹排序

  一、按文件夹名称顺序排列

  /// <summary>
  /// C#按文件夹名称排序(顺序)
  /// </summary>
  /// <param name=”dirs”>待排序文件夹数组</param>
  private void SortAsFolderName(ref DirectoryInfo[] dirs)
  {
    Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returnx.Name.CompareTo(y.Name); });
  }

  调用方法:

  private void FolderSort()
  {
    string filePath = “E:\\”;
    DirectoryInfo di = new DirectoryInfo(filePath);

    DirectoryInfo[] arrDir =
di.GetDirectories();
    SortAsFolderName(ref arrDir);

    for (int i = 0; i <
arrDir.Length; i++)
      Response.Write(arrDir[i].Name + “:<br
/>”);
  }

  上述代码是对 E 盘根目录下的享有文件夹按名称顺序排列,代码也经过
Visual studio 二零一零 测试。

 

  二、按文件夹名称倒序排列

  /// <summary>
  /// C#按文件夹名称排序(倒序)
  /// </summary>
  /// <param name=”dirs”>待排序文件夹数组</param>
  private void SortAsFolderName(ref DirectoryInfo[] dirs)
  {
    Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returny.Name.CompareTo(x.Name); });
  }

 

  三、按文件夹创制时间顺序排列

  /// <summary>
  /// C#按文件夹夹创立时间排序(顺序)
  /// </summary>
  /// <param name=”dirs”>待排序文件夹数组</param>
  private void SortAsFolderCreationTime(ref DirectoryInfo[] dirs)
  {
    Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returnx.CreationTime.CompareTo(y.CreationTime); });
  }

 

  四、按文件夹创立时间倒序排列

  /// <summary>
  /// C#按文件夹制造时间排序(倒序)
  /// </summary>
  /// <param name=”dirs”>待排序文件夹数组</param>
  private void SortAsFolderCreationTime(ref DirectoryInfo[] dirs)
  {
    Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { returny.CreationTime.CompareTo(x.CreationTime); });
  }

  如若要按文件或文件夹的最终修改时间排序,方法也是千篇一律的,只需把
CreationTime 改为 LastWrite提姆e 就可以。

 

 

 

using System.IO;

 

private void button1_Click(object sender, EventArgs e)

{

//DirectoryInfo[] list = new DirectoryInfo(path).GetDirectories();//
path:文件夹路线

DirectoryInfo[] list = new
DirectoryInfo(@”D:\软件”).GetDirectories();

Array.Sort<DirectoryInfo>(list, new DirectoryLastTimeComparer());

 

textBox1.Text = list[list.Length –
1].FullName;//文件夹的全路线以及名字

textBox1.Text = list[list.Length – 1].Name; //文件夹的名字

}

 

private void button2_Click(object sender, EventArgs e)

{

FileInfo[] list = new DirectoryInfo(@”D:\软件”).GetFiles();

Array.Sort<FileInfo>(list, new FIleLastTimeComparer());

 

textBox1.Text = list[list.Length – 1].FullName;//文件的全路线以及名字

textBox1.Text = list[list.Length – 1].Name; //文件的名字

 

}

 

}

 

//文件夹中定期间排序最新的文件读取

public class DirectoryLastTimeComparer : IComparer<DirectoryInfo>

{

#region IComparer<DirectoryInfo> 成员

 

public int Compare(DirectoryInfo x, DirectoryInfo y)

{

return x.LastWriteTime.CompareTo(y.LastWriteTime);

//依名称排序

//return x.FullName.CompareTo(y.FullName);//递增

//return y.FullName.CompareTo(x.FullName);//递减

 

//依修改日期排序

//return x.LastWriteTime.CompareTo(y.LastWriteTime);//递增

//return y.LastWriteTime.CompareTo(x.LastWriteTime);//递减

}

 

#endregion

}

 

//文件夹中定期间排序最新的公文读取

public class FIleLastTimeComparer : IComparer<FileInfo>

{

#region IComparer<FileInfo> 成员

 

public int Compare(FileInfo x, FileInfo y)

{

return x.LastWriteTime.CompareTo(y.LastWriteTime);

}

 

#endregion

}

就足以行使Array.Sort()方法来对其开展调用。当然,你也足以按创设时间来开展排序。

[csharp] view
plain
copyprint?

 

  1. <pre></pre>  
  2. <pre></pre>  
  3. <pre></pre>  
  4. <pre></pre>  
  5. <pre></pre>  
  6. <pre></pre>  
  7. <pre></pre>  
  8. <pre></pre>  
  9. <pre></pre>  
  10. <pre></pre>  
  11. <pre></pre>  
  12. <pre></pre>  
  13. <pre></pre>  
  14. <pre></pre>  
  15. <pre></pre>  
  16.       
  17.         <div style=”padding-top:20px”>           
  18.             <p style=”font-size:1二px;”>版权注明:本文为博主原创文章,未经博主允许不得转发。</p>  
  19.         </div>  

相关文章

Your Comments

近期评论

    功能


    网站地图xml地图