두 개 또는 그 이하의 유사한 폴더에있는 파일을 비교하고 어떤 파일이 다른지 알려주는 방식으로 내 기본 프로젝트의 업데이트 파일을보다 쉽게 만들 수 있도록 간단한 응용 프로그램을 만들려고했습니다.MD5 비교가 작동하지 않습니다
C : 바탕 화면 \ 폴더 2 \ 1.TXT
C \ \ 사용자가 \ : \ 사용자가 \ \ 바탕 화면 \ 폴더 두 개의 완전히 유사한 폴더를 테스트 할 때 항상 나에게 다음과 같은 출력을 제공합니다 2 내 코드
2.txt : \
private void FirstFolderBtn_Click(object sender, EventArgs e)
{
using (var fbd = new FolderBrowserDialog())
{
DialogResult result = fbd.ShowDialog();
if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(fbd.SelectedPath))
{
FirstFolderTB.Text = fbd.SelectedPath;
}
}
}
private void SecondFolderButton_Click(object sender, EventArgs e)
{
using (var fbd = new FolderBrowserDialog())
{
DialogResult result = fbd.ShowDialog();
if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(fbd.SelectedPath))
{
SecondFolderTB.Text = fbd.SelectedPath;
}
}
}
private void CompareBtn_Click(object sender, EventArgs e)
{
foreach(string file in Directory.GetFiles(FirstFolderTB.Text))
{
byte[] storedFileHash;
using (var md5 = MD5.Create())
{
using (var stream = File.OpenRead(file))
{
storedFileHash = md5.ComputeHash(stream);
}
using (var stream = File.OpenRead(file.Replace(FirstFolderTB.Text, SecondFolderTB.Text)))
{
if(storedFileHash != md5.ComputeHash(stream))
{
ResultTB.AppendText(file.Replace(FirstFolderTB.Text, SecondFolderTB.Text) + "\n");
}
}
}
}
}
난 그냥 지금 바보되는 어떤 바보 같은 실수를 감독하지만 누군가가 도움을 줄 수 있다면 감사하겠습니다하고 생각합니다.
감사합니다, 월
에
using System.Linq
를 추가 실종, 나는 문제가 그 일을해야합니다. 따라서 내 의견에 중복이되지 않습니다. – Jan1902완벽 - 이제 모든 단계를 정확하게 다루는 2 가지 질문이 중복되었습니다. –
그게 틀 렸습니다. 나는 내 문제가 비교라는 것을 몰랐다. 그래서 나는 그 문제가 무엇인지 물었다. 내가 그것이 비교인지 알았다면 나는 그것을 보았을 것이다. – Jan1902