我在 wpf 上使用 c# 并遇到了一个问题,我选择了一些文件,它们的文件名进入了我的“filespicked”文本框。然后,我有一个按钮,应该将文件(与在文本框中选择的文件相同)复制到另一个文件夹。此按钮打开文件夹浏览器对话框,我选择要复制到的文件夹。
问题是当我选择文件夹并单击确定时,我的 try/catch 异常处理程序捕获了一个异常,并且它不会复制。
这是我的代码。
private void Button_Click(object sender, RoutedEventArgs e)
{
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "Select a folder to copy to";
dialog.ShowNewFolderButton = true;
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string[] files = filePickedTextBox.Text.Split('\n');
foreach (var file in files)
{
// Detect and handle the event of a non-valid filename
try
{
File.Copy(file, dialog.SelectedPath);
}
catch (Exception ex)
{
outputTextBox.Text = ex.ToString();
return;
}
}
}
这是错误:
System.IO.IOException:目标文件“C:\Users\tj\Desktop\copied_files”是一个目录,而不是一个文件。在 System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost) at System.IO.File.Copy(String sourceFileName, String destFileName) at WpfApp1.MainWindow.Button_Click(Object sender, RoutedEventArgs e)
该错误对我来说毫无意义,因为文件变量中的字符串是目标文件,而不是copyed_files 文件夹。那是目标文件夹。