我正在編寫代碼以使用hashCompute
方法在給定的目錄中對相同的文件進行分組。 我已經完成了大部分工作,但似乎無法對我的文件進行分組。我想要將具有相同散列值的文件分組在一起。組在目錄中的文件相等
這裏是我的代碼示例:
public static void myhashedfiles()
{
string directory;
Console.WriteLine("please enter a folder name:");
directory = (Console.ReadLine());
if (directory.Length < 1)
{
Console.WriteLine("enter a directory or folder name!");
return;
}
DirectoryInfo dir = new DirectoryInfo(directory);
try
{
FileInfo[] files = dir.GetFiles("*.*", System.IO.SearchOption.AllDirectories);
HashAlgorithm hash = HashAlgorithm.Create();
byte[] hashValue;
foreach (FileInfo fInfo in files)
{
FileStream fileStream = fInfo.Open(FileMode.Open);
fileStream.Position = 0;
hashValue = hash.ComputeHash(fileStream);
PrintByteArray(hashValue);
Console.WriteLine(fInfo.Name);
fileStream.Close();
}
}
catch (DirectoryNotFoundException)
{
Console.WriteLine("Error: The directory specified could not be found.");
}
catch (IOException)
{
Console.WriteLine("Error: A file in the directory could not be accessed.");
}
}
我想我可以使用linq..but請我在哪裏可以插入代碼和如何..我是非常新的linq ..或者有另一種簡單的方法 –
你是什麼意思的「分組」的文件?你試圖得到什麼輸出? –
我想分組輸出eqaul文件...例如,如果有我的文件夾中有10個文件,並有2組相同的文件..我希望那些相同的文件輸出然後一個空間,然後下一組相同的文件 –