2

System.Windows.Forms.OpenFileDialog在我的WPF应用程序中使用来选择图像。当用户选择图像时,我将在文本框中显示所选文件的文件名,如下所示。

            OpenFileDialog fileDialog = new OpenFileDialog();
            fileDialog.Title = "Select image";
            fileDialog.InitialDirectory = "";
            fileDialog.Filter = "Image Files (*.gif,*.jpg,*.jpeg,*.bmp,*.png)|*.gif;*.jpg;*.jpeg;*.bmp;*.png";
            fileDialog.FilterIndex = 1;
            fileDialog.RestoreDirectory = true;

            if (fileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                txtImagePath.Text = fileDialog.FileName;
            }

我的应用程序中有一个按钮Save。当用户单击此按钮时,我需要将此文件重命名为另一个名称并将其复制到我硬盘中的另一个目录。

我怎样才能做到这一点?

4

3 回答 3

8

使用Path 类中的File.Copy和方法来提取文件的相关部分

string newDir = @"D:\temp";
string curFile = Path.GetFileName(txtImagePath.Text);
string newPathToFile = Path.Combine(newDir, curFile);
File.Copy(txtImagePath.Text, newPathToFile);

现在使用File.Move对当前目录进行重命名操作

string curDir = Path.GetDirectoryName(textImagePath.Text);
File.Move(txtImagePath.Text, Path.Combine(curDir, "NewNameForFile.txt"));

可以改进此代码,引入一些错误处理

如果您想使用新名称直接复制新目录中的旧文件,那么您可以简单地编写

string newPathToFile = @"D:\temp\NewNameForFile.txt";
File.Copy(txtImagePath.Text, newPathToFile);

然后对当前目录进行重命名。

于 2013-09-26T09:47:47.360 回答
2

如何使用:System.IO.File.Copy

或者,您可以启动一个批处理文件,使用processInfo

于 2013-09-26T09:47:26.587 回答
1

您可以使用File.Copy. 以下是详细信息:http: //msdn.microsoft.com/en-us/library/c6cfw35a.aspx。它获取源文件并将其复制到目的地,可能使用新名称。

于 2013-09-26T09:47:02.083 回答