方圓幾里. 2020-10-21 23:15 采纳率: 0%
浏览 214

C# 批量选择指定日期区间文件

1、点击“导入”按钮可以批量导入文件夹的tiff文件;

图片说明

2、在文本框里面可以输入时间范围例如“20200321-20200625”,点击“选择”按钮,自动再次将ListBox1中的文件进行筛选,只保留含有这个时间范围区间的文件;ListBox2中的也是和ListBox1同样的功能;

3、点击“执行”按钮,将两个列表框中含有相同日期的文件组成同一批文件代进公式当中进行求和运算
图片说明

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-25 01:25
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要实现上述功能,您可以使用C#编程语言以及一些常用库,比如System.IO来读取文件,并利用System.Linq来过滤和操作文件。以下是一个简单的示例代码:

    using System;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.IO;
    using System.Linq;
    
    class Program {
        static void Main(string[] args) {
            // 假设您已经有一个包含TIF文件路径的字符串数组
            string[] filePaths = { "path_to_your_files" };
    
            // 创建一个字典,用于存储每个时间段内所有文件的数量
            Dictionary<string, int> fileCounts = new Dictionary<string, int>();
    
            foreach (string filePath in filePaths) {
                try {
                    // 从文件中读取所有TIF文件的名称
                    var filenames = Directory.GetFiles(filePath);
                    
                    // 使用Linq过滤出符合条件的文件
                    var filteredFiles = from filename in filenames
                                         where filename.EndsWith(".tif")
                                         select filename;
    
                    // 计算每个时间段内的文件数量
                    foreach (var filename in filteredFiles) {
                        string dateStr = Path.GetFileNameWithoutExtension(filename).Split('_')[1];
                        if (!fileCounts.ContainsKey(dateStr)) {
                            fileCounts[dateStr] = 0;
                        }
                        fileCounts[dateStr]++;
                    }
                } catch (Exception ex) {
                    Console.WriteLine($"Error processing file: {filePath}");
                    Console.WriteLine(ex.Message);
                }
            }
    
            // 输出每个时间段内文件的数量
            foreach (var pair in fileCounts) {
                Console.WriteLine($"{pair.Key}: {pair.Value}");
            }
        }
    }
    

    这段代码首先定义了一个名为Main的方法,它接受一个包含TIF文件路径的字符串数组作为参数。然后,它遍历这些文件,尝试从每个文件中读取所有的TIF文件名。

    对于每个找到的TIF文件,我们检查其是否以".tif"结尾,如果是,则将其添加到一个名为filteredFiles的集合中。

    接下来,我们将TIF文件名解析为日期格式,并将其与文件计数关联起来。如果当前的日期不在字典中,我们就创建一个新的键值对,并设置其值为0。

    最后,我们遍历字典并打印出每个时间段内文件的数量。

    请注意,这只是一个基本的示例,实际应用可能需要更复杂的错误处理和日志记录,以及根据您的具体需求调整日期筛选逻辑。

    评论

报告相同问题?

悬赏问题

  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错
  • ¥15 拓扑学,凸集,紧集。。
  • ¥15 如何扩大AIS数据容量