使用WPF C#将图像文件复制到空文件夹

时间:2014-07-16 12:47:49

标签: c# wpf

在完成所有相关内容复制文件后,我无法找到答案 我试图将文件复制到WPF应用程序中的空文件夹时发生异常的问题。这是代码段。

public static void Copy()
{
    string _finalPath;
    foreach (var name in files) // name is the filename extracted using GetFileName in a list of strings
    {
        _finalPath = filePath; //it is the destination folder path e.g,C:\Users\Neha\Pictures\11-03-2014
        if(System.IO.Directory.Exists(_finalPath))
        {
            _finalPath = System.IO.Path.Combine(_finalPath,name);
            System.IO.File.Copy(name, _finalPath , true);
        }
    }
}

虽然在file.copy()语句中出现调试异常,但是

  

" FileNotFoundException未处理"找不到文件

我已经知道复制路径和复制的其他方面,但我不知道为什么会引发这个异常。 我是WPF的菜鸟,请帮助.........

3 个答案:

答案 0 :(得分:1)

使用以下代码:

    public static void Copy()
    {
        string _finalPath;
        var files = System.IO.Directory.GetFiles(@"C:\"); // Here replace C:\ with your directory path.
        foreach (var file in files)             
        {
            var filename = file.Substring(file.LastIndexOf("\\") + 1); // Get the filename from absolute path
            _finalPath = filePath; //it is the destination folder path e.g,C:\Users\Neha\Pictures\11-03-2014
            if (System.IO.Directory.Exists(_finalPath))
            {
                _finalPath = System.IO.Path.Combine(_finalPath, filename);
                System.IO.File.Copy(file, _finalPath, true);
            }
        }
    }

答案 1 :(得分:0)

GetFileName () 只返回文件的实际名称(删除路径)你想要的是文件的完整路径。所以你得到一个例外,因为'名称'您的驱动器上不存在(路径未知)

答案 2 :(得分:0)

你是变量,name,很可能只是文件名(即something.jpg)。使用File.Copy(...)方法时,如果不提供绝对路径,则该方法采用相对于可执行文件的路径。

基本上,如果您正在运行您的应用程序,例如C:\ Projects \ SomeProject \ bin \ Debug \ SomeProject.exe,那么它假设您的文件是C:\ Projects \ SomeProject \ bin \ Debug \ something .JPG。