0
点赞
收藏
分享

微信扫一扫

C# 获取指定文件夹下指定类型的最新修改时间的文件

扒皮狼 2022-03-18 阅读 180

在之前的讲解的C# 获取指定文件夹下指定类型的文件基础上,增加了获取最新修改时间的文件索引的方法,具体代码如下所示。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace C_sharp获取指定文件夹下的图片
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

    

        //自定义一个类
        public class FileTimeInfo
        {
            public string FileName;  //文件名
            public DateTime FileCreateTime; //创建时间
        }
        //获取最近创建的文件名和创建时间
        //如果没有指定类型的文件,返回null
        static FileTimeInfo GetLatestFileTimeInfo(string dir, string ext)
        {
            List<FileTimeInfo> list = new List<FileTimeInfo>();
            DirectoryInfo d = new DirectoryInfo(dir);
            foreach (FileInfo fi in d.GetFiles())
            {
               
                if (fi.Extension.ToUpper() == ext.ToUpper())
                {
                    list.Add(new FileTimeInfo()
                    {
                        FileName = fi.FullName,
                        FileCreateTime = fi.CreationTime
                    });
                   
                }
            }
            var qry = from x in list
                      orderby x.FileCreateTime
                      select x;
            return qry.LastOrDefault();
        }



        private void Form1_Load(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
        }


        private void button3_Click(object sender, EventArgs e)
        {
            DirectoryInfo dir = new DirectoryInfo(@"d:\picture");
            FileInfo[] inf = dir.GetFiles();//返回当前目录的文件列表,返回结果数据类型为FileInfo[],即数组
            foreach (FileInfo finf in inf)
            {
                if (finf.Extension.Equals(".jpeg"))
                {
                    //如果扩展名为“.jpeg”
                    listBox1.Items.Add(finf.FullName);
                    //在listbox1控件中添加文件的完整目录和文件名
                }
            }
            //使用 GetLatestFileTimeInfo
            //获取d:\picture文件中,扩展名为.jpeg的最新文件
            FileTimeInfo fi = GetLatestFileTimeInfo(@"d:\picture", ".jpeg");//获取最近创建的格式为“jpeg”的文件
            if (fi != null)
            {
                textBox1.Text = fi.FileName;
            }
            else
            {
                MessageBox.Show("空文件");
            }
        }
    }
}

 

 

 

举报

相关推荐

0 条评论