我试图创建一个程序,可以将用户选择的任何文件移动到另一个文件夹中。我环顾四周,收集了一些信息并将一些东西放在一起,但它并不安静,但它也没有给出任何错误。有人能告诉我它有什么问题,或者如何修复它? (这是我第一次使用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);
}
因此,项目构建并运行正常,并打开对话框,但是当我选择文件时,对话框正常关闭并且没有移动任何内容。
谢谢!
答案 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
块中并捕获异常。