异步按模式搜索文件
C#
Medium
async
任务 «异步按模式搜索文件»
编写一个异步程序,该程序接收根目录和文件名模式(支持 '*' 和 '?')作为输入。程序应异步递归遍历所有子目录,找到所有匹配模式的文件,并输出它们的完整路径。对于每个找到的文件,还需异步读取前1024个字节,并计算其SHA256哈希值(以十六进制字符串形式表示)。输出应按文件路径排序。限制条件:文件数量不超过1000个,嵌套深度最多10层,文件大小不限,但始终读取前1024个字节。
输入格式
第一行:根目录(绝对路径或相对路径)。第二行:文件名模板(可包含 '*' 和 '?')。
输出格式
对于每个找到的文件,输出一行:"<完整路径> <前1024字节的SHA256哈希>"。各行按路径的字典序排序。如果文件为空,则哈希值从空字符串计算。
示例
示例 1
输入
/tmp/testdir
file?.dat
输出
示例 2
输入
Programming is fun
输出
示例 3
输入
3
1 2 3
4 5 6
7 8 9
输出
示例 4
输入
hello world
world
java
输出
main.cs