[英]Copy a file into a created directory
我正在一个项目中,我希望根据文本字段值生成目录,并且想要将文件复制到创建的文件夹中...到目前为止,我可以创建目录并复制文件,但可以复制到已创建文件夹...。
try
{
string id = textBox4.Text.Trim();
// Directory.CreateDirectory("C:\\Users\\prashan\\Desktop\\"+id);
string source = null;
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog()==System.Windows.Forms.DialogResult.OK)
{
source = ofd.FileName;
MessageBox.Show(source);
}
string File_name = Path.GetFileName(source);
string destination = "C:\\Users\\prashan\\Desktop\\" +
System.IO.Directory.CreateDirectory(id) + File_name;
System.IO.File.Copy(source, destination);
MessageBox.Show("Done....");
}
catch (Exception ex)
{
MessageBox.Show(ex.StackTrace);
}
您有以下代码:
string destination = "C:\\Users\\prashan\\Desktop\\"
+ System.IO.Directory.CreateDirectory(id) + File_name;
您正在将CreateDirectory()的结果串联到目标文件名中,这是不正确的。 相反,您可以将其分为两个操作,如下所示:
System.IO.Directory.CreateDirectory("C:\\Users\\prashan\\Desktop\\" + id);
string destination = "C:\\Users\\prashan\\Desktop\\" + id + "\\" + File_name;
这不是最干净的方法,使用Path.Combine()会更好,但是我想尽可能少地更改代码。
您的代码中的微小变化。 修改了目标路径以使其成为有效路径。
try
{
string id = textBox4.Text.Trim();
Directory.CreateDirectory("C:\\Users\\prashan\\Desktop\\"+id);
string source = null;
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
source = ofd.FileName;
MessageBox.Show(source);
}
string File_name = Path.GetFileName(source);
string destination = "C:\\Users\\prashan\\Desktop\\" + id +"\\"+ File_name;
System.IO.File.Copy(source, destination);
MessageBox.Show("Done....");
}
catch (Exception ex)
{
MessageBox.Show(ex.StackTrace);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.