4
// Browses file with OpenFileDialog control

    private void btnFileOpen_Click(object sender, EventArgs e)
    {
        OpenFileDialog openFileDialogCSV = new OpenFileDialog();

        openFileDialogCSV.InitialDirectory = Application.ExecutablePath.ToString();
        openFileDialogCSV.Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*";
        openFileDialogCSV.FilterIndex = 1;
        openFileDialogCSV.RestoreDirectory = true;

        if (openFileDialogCSV.ShowDialog() == DialogResult.OK)
        {
            this.txtFileToImport.Text = openFileDialogCSV.FileName.ToString();
        }

    }

在上面的代码中,我浏览要打开的文件。我想要做的是,浏览一个文件,选择它,然后按确定。单击确定后,我想复制所选文件并为该重复文件提供 .txt 扩展名。我需要帮助来实现这一目标。

谢谢

4

3 回答 3

8
if (openFileDialogCSV.ShowDialog() == DialogResult.OK)
{
    var fileName = openFileDialogCSV.FileName;
    System.IO.File.Copy( fileName ,Path.Combine(Path.GetDirectoryName(fileName), Path.GetFileNameWithoutExtension(fileName)+".txt"));
}

上面的代码会将选定的文件复制为具有相同名称的 txt 并复制到同一目录中。

如果您需要覆盖具有相同名称的现有文件,请将另一个参数添加到 Copy 方法为 true。

System.IO.File.Copy(source, destination, true);

于 2012-06-21T08:08:54.357 回答
1

您使用File.Copy如下,

File.Copy(openFileDialogCSV.FileName., openFileDialogCSV.FileName + ".txt");
于 2012-06-21T07:57:17.820 回答
0

试试这个

private void btnFileOpen_Click(object sender, EventArgs e)
    {
        OpenFileDialog openFileDialogCSV = new OpenFileDialog();

        openFileDialogCSV.InitialDirectory = Application.ExecutablePath.ToString();
        openFileDialogCSV.Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*";
        openFileDialogCSV.FilterIndex = 1;
        openFileDialogCSV.RestoreDirectory = true;

        if (openFileDialogCSV.ShowDialog() == DialogResult.OK)
        {
            this.txtFileToImport.Text = openFileDialogCSV.FileName.ToString();
    System.IO.File.Copy(this.txtFileToImport.Text,"C://123.txt")
        }

    }

123 可以通过您想要的任何文件名进行更改。

于 2012-06-21T07:57:51.883 回答