嘿,我几天前开始学习C#,我正在试着写一个程序,可以复制和粘贴文件(如果需要,还可以替换)到选定的目录,但我不知道如何从打开文件对话框和文件夹浏览器对话框中获取目录和文件路径
我做错了什么?
代码如下:
namespace filereplacer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void direc_Click(object sender, EventArgs e)
{
string folderPath = "";
FolderBrowserDialog directchoosedlg = new FolderBrowserDialog();
if (directchoosedlg.ShowDialog() == DialogResult.OK)
{
folderPath = directchoosedlg.SelectedPath;
}
}
private void choof_Click(object sender, EventArgs e)
{
OpenFileDialog choofdlog = new OpenFileDialog();
choofdlog.Filter = "All Files (*.*)|*.*";
choofdlog.FilterIndex = 1;
choofdlog.Multiselect = true;
choofdlog.ShowDialog();
}
private void replacebtn_Click(object sender, EventArgs e)
{
// This is where i'm having trouble
}
public static void ReplaceFile(string FileToMoveAndDelete, string FileToReplace, string BackupOfFileToReplace)
{
File.Replace(FileToMoveAndDelete, FileToReplace, BackupOfFileToReplace, false);
}
}
发布于 2014-06-27 18:50:47
使用System.IO
中的Path
类。它包含用于操作文件路径的有用调用,包括执行所需操作的GetDirectoryName
,它返回文件路径的目录部分。
使用方法很简单。
string directoryPath = System.IO.Path.GetDirectoryName(choofdlog.FileName);
发布于 2014-06-27 18:52:18
您可以将路径存储到字符串变量中,如下所示
string s = choofdlog.FileName;
发布于 2014-06-27 18:51:45
要获取一个或多个选定文件的完整文件路径,则需要对一个文件使用FileName属性,或对多个文件使用FileNames属性。
var file = choofdlog.FileName; // for one file
或用于多个文件
var files = choofdlog.FileNames; // for multiple files.
要获取文件的目录,可以使用Path.GetDirectoryName
下面是Jon Keet关于从路径中获取目录的类似问题的answer
https://stackoverflow.com/questions/24449988
复制相似问题