如何将用户选择的文件移动到Visual C#中用户选择的目录?

时间:2016-01-18 23:49:58

标签: c# visual-studio-2013

我试图创建一个程序,可以将用户选择的任何文件移动到另一个文件夹中。我环顾四周,收集了一些信息并将一些东西放在一起,但它并不安静,但它也没有给出任何错误。有人能告诉我它有什么问题,或者如何修复它? (这是我第一次使用Visual Studio + C#测试时记住)

这是代码(在按钮内):

if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            string sourceFile = openFileDialog1.InitialDirectory + openFileDialog1.FileName;

            var dirPath = @"C:\Users\goverpie\Desktop\Server\Plugins\";
            var extn = Path.GetExtension(sourceFile);

            var finalName = sourceFile + extn;
            var targetFilePath = Path.Combine(dirPath, sourceFile);

            File.Move(sourceFile, targetFilePath);

        }

因此,项目构建并运行正常,并打开对话框,但是当我选择文件时,对话框正常关闭并且没有移动任何内容。

谢谢!

1 个答案:

答案 0 :(得分:1)

您的sourceFile字符串包含.InitialDirectory以及.FileName,因此(如果我正确阅读),请选择 C:\ TEMP \ myFile.foo 作为目标文件,targetFilePath将最终为 C:\ Users \ goverpie \ Desktop \ Server \ Plugins \ C:\ TEMP \ myFile.foo 。鉴于系统在路径中找到:时会抛出错误,您可能无法处理抛出的异常并且系统刚刚退出。

File.Move(sourceFile, targetFilePath);行放置一个断点,查看值是什么。此外,将整个事物包装在try/catch块中并捕获异常。