C# 遍历文件夹子目录下所有图片及遍历文件夹下的文件
作者:mrr 发布时间:2022-03-12 02:55:47
标签: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# 遍历文件夹及子目录下所有图片的实现方法网站的支持!


猜你喜欢
- 1 安装 Unity安装Unity Hub安装 Unity 推荐使用 Unity Hub 管理程序(官方管理程序)。Unity Hub 是一
- RabbitMQ的示例,涉及到Direct、Fanout、Topic和Headers交换机以及普通队列、延迟队列和死信队列在pom.xml文
- JAVA中的类只能是public 或者package的。这是符合逻辑的:人们定义类的初衷就是为了让别人用的。倘若是private,别人怎么调
- 引言你在服务端的安全管理使用了 Spring Security,用户登录成功之后,Spring Security 帮你把用户信息保存在 Se
- 本文实例为大家分享了RecycleView实现各种尺寸图片展示的具体代码,供大家参考,具体内容如下今天才发现,在一个RecycleView里
- 1.对包名的判断,异常则说明不存在:try {PackageManager pm = getPackageManager();pm.getP
- 前言AQS 绝对是JUC的重要基石,也是面试中经常被问到的,所以我们要搞清楚这个AQS到底是什么?骑工作原理是什么?AQS是什么?AQS,A
- 程序员讨厌写文档, 讨厌写注释, 而我还讨厌写日志, 输出一个 "Id=5, 姓名=王大锤
- 最近在鼓捣spring -boot ,真好用,学习到jpa.通过生成Entity 文件,能够快速的生成数据库,并且使用JpaReposito
- 应朋友们反馈的Android基础薄弱的问题,决定出一套Android基础教程,帮助大家复习,巩固Android基础,今天要讲的是Androi
- 使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删
- 枚举是迭代一个集合中的数据项的过程。我们经常使用的大多数集合实际上都已经实现了枚举的接口IEnumerable和IEnumerator接口,
- 今天新建项目的时候突然发现编译后运行按钮为灰色。解决方案:第一步:点击图中的Add Configuration,出来如下界面第二步:点+号,
- 实践过程效果代码public partial class Form1 : Form{ public Form1()
- 当多个界面都有很多相似部分时,可以考虑创建一个功能较全的模板。而在需要时,可以通过引用模板来实现自己想要实现的功能。比如适配器 Adapte
- 前言在我的申请下,公司终于购买了一台基于Android12.0的手机,然后我就开心的拿去安装测试了,发现程序崩溃了,于是我这里就写下来,An
- 1:在很多APP里点击返回键,都可以看到返回键由亮变为暗2:实现方法也是很简单的(1)新建一个页面<RelativeLayout &n
- 本文实例汇总了winform获取当前名称的方法。分享给大家供大家参考。具体方法如下:// 获取程序的基目录。System.AppDomain
- Guava EventBusEventBus是Guava的事件处理机制,是设计模式中观察者模式(生产/消费者编程模型)的优雅实现。对于事件监
- 一、函数和变量的多文件问题.h: 头文件,一般包含函数声明,变量声明,宏定义,头文件等内容(header).c : 源文件,一般包含函数实现