Home  >  Article  >  Backend Development  >  C# traverse all pictures in subdirectories of a folder and traverse files in a folder code sharing

C# traverse all pictures in subdirectories of a folder and traverse files in a folder code sharing

黄舟
黄舟Original
2017-03-25 13:11:563118browse

在上个项目开发中遇到这样的需求,取指定目录下面的所有图片,以表格的型式展示并显示该图片的相对路径。下面小编给大家分享C# 遍历文件夹子目录下所有图片及遍历文件夹下的文件,一起看看吧

要求:取指定目录下面的所有图片,以表格的型式展示并显示该图片的相对路径。

服务端代码:

 public partial class ViewIcon : System.Web.UI.Page
 {
  JArray ja = new JArray(); //定义一个数组
  public string info = string.Empty; 
  protected void Page_Load(object sender, EventArgs e)
  {
   var path1 = System.AppDomain.CurrentDomain.BaseDirectory;//获取程序集目录
   string path = Path.Combine(path1, "Image", "menu");//Path.Combine 将3个字符串组合成路径
   var images = Directory.GetFiles(path, ".", SearchOption.AllDirectories).Where(s => s.EndsWith(".png") || s.EndsWith(".jpg") || s.EndsWith(".gif"));
   //images = Directory.GetFiles(path, "*.png|*.jpg", SearchOption.AllDirectories);
   //Directory.GetFiles 返回指定目录的文件路径 SearchOption.AllDirectories 指定搜索当前目录及子目录
   //遍历string 型 images数组
   foreach (var i in images){
    var str = i.Replace(path1, "");//获取相对路径
    var path2 = str.Replace("\\", "/");将字符“\\”转换为“/”
    ja.Add(path2);
   }
   info = Newtonsoft.Json.JsonConvert.SerializeObject(ja);//序列化为String
  }
 }

前端代码:

<script type="text/javascript">
  $(function(){
   var images = <%=info%>;
  var list = [];
  list.push("<table>");
  list.push("<thead>"); 
  list.push("<tr>"); 
  list.push("<td>图标</td>"); 
  list.push("<td>路径</td>"); 
  list.push("<td>图标</td>"); 
  list.push("<td>路径</td>");
  list.push("</tr>"); 
  list.push("</thead>");
  list.push("<tbody>");
  $.each(images, function (a,b) {
   if((a+1)%2==0){
    list.push("<td>"+"<img width=&#39;50&#39; height=&#39;50&#39; src = &#39;../../" + b + "&#39;></td>");
    list.push("<td>"+b+"</td>");
    list.push("</tr>"); 
   }
   if((a+1)%2!=0){
    list.push("<tr>"); 
    list.push("<td>"+"<img width=&#39;50&#39; height=&#39;50&#39; src = &#39;../../" + b + "&#39;></td>");
    list.push("<td>"+b+"</td>");
   } 
  })
  list.push("</tbody>");
  list.push("</table>");
  list.push("<br>");
  var images = list.join("");
  $("#imgs").append(images); 
 })
</script>

效果图如下:

下面给大家介绍下C# 遍历文件夹下所有子文件夹中的文件,得到文件名

假设a文件夹在F盘下,代码如下。将文件名输出到一个ListBox中

using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication1
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }
    private void button2_Click(object sender, EventArgs e)
    {
      DirectoryInfo theFolder = new DirectoryInfo(@"F:\a\");
      DirectoryInfo[] dirInfo = theFolder.GetDirectories();
      //遍历文件夹
      foreach (DirectoryInfo NextFolder in dirInfo)
      { 
        // this.listBox1.Items.Add(NextFolder.Name);
        FileInfo[] fileInfo = NextFolder.GetFiles();    
        foreach (FileInfo NextFile in fileInfo) //遍历文件
        this.listBox2.Items.Add(NextFile.Name); 
      }
    }
  }
}

The above is the detailed content of C# traverse all pictures in subdirectories of a folder and traverse files in a folder code sharing. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn