winform程序 使用File.Copy文件复制文件,进行比对时发现两个文件不一致(上传的ini格式和.key格式文件)。
问题相关代码,请勿粘贴截图
OpenFileDialog openFileDialogTemp = new OpenFileDialog();
openFileDialogTemp.Title = "选择要上传的文件";
const string imgExts = "文件 (.ini;.key)|.ini;.key";
openFileDialogTemp.Filter = imgExts;//可选择的文件格式 (|之前为显示,之后为控制后缀显示)
openFileDialogTemp.Multiselect = true;//多选设置
openFileDialogTemp.RestoreDirectory = true;
openFileDialogTemp.FilterIndex = 1;
if (openFileDialogTemp.ShowDialog() == DialogResult.OK)
{
if (openFileDialogTemp.FileNames.Count() > 0)
{
if (!Directory.Exists(Application.StartupPath + "\license\"))
{
Directory.CreateDirectory(Application.StartupPath + "\license\");
}
string fileMsg = "";
for (int i = 0; i < openFileDialogTemp.FileNames.Count(); i++)
{
//判断文件是否被占用
IntPtr vHandle = _lopen(openFileDialogTemp.FileNames[i], OF_READWRITE | OF_SHARE_DENY_NONE);
if (vHandle == HFILE_ERROR)
{
fileMsg += openFileDialogTemp.FileNames[i] + "文件被占用,请关闭后进行上传\n";
}
else
{
try
{
//var savePath = Path.Combine(targetDir, Path.GetFileName(item));
File.Copy(openFileDialogTemp.FileName, Application.StartupPath + "\license\" + Path.GetFileName(openFileDialogTemp.FileNames[i]));
}
catch (Exception ex)
{
MessageBox.Show("请确认文件" + openFileDialogTemp.FileNames[i] + "是否已存在于安装目录下");
LogHelper.Error(ex.ToString());
return;
}
}
CloseHandle(vHandle);
}
if (fileMsg.Length > 0)
{
MessageBox.Show(fileMsg);
}
}
this.DialogResult = DialogResult.OK;
this.Close();
}
运行结果及报错内容
不报错,但是复制的文件不一致
我想要达到的结果
做文件比对,两个文件要完全一致。