• 技术文章 >后端开发 >C#.Net教程

    C#遍历文件夹子目录下所有图片及遍历文件夹下的文件代码分享

    黄舟黄舟2017-03-25 13:11:56原创2342

    在上个项目开发中遇到这样的需求,取指定目录下面的所有图片,以表格的型式展示并显示该图片的相对路径。下面小编给大家分享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='50' height='50' src = '../../" + b + "'></td>");
        list.push("<td>"+b+"</td>");
        list.push("</tr>"); 
       }
       if((a+1)%2!=0){
        list.push("<tr>"); 
        list.push("<td>"+"<img width='50' height='50' src = '../../" + b + "'></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); 
          }
        }
      }
    }

    以上就是C#遍历文件夹子目录下所有图片及遍历文件夹下的文件代码分享的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:详细介绍C#实现的MD5加密功能与用法示例 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 指针数组和数组指针的区别是什么• 汇编语言和c语言的区别是什么• go是c语言中关键字吗• putchar()的功能是啥• c语言文件读写怎么操作
    1/1

    PHP中文网