簡體   English   中英

將文件復制到創建的目錄中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM