2012-06-21 44 views
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扩展名。我需要帮助来实现这一点。如何在OpenFileDialog控件中选择文件的副本副本

感谢

回答

7
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);

+0

这个作品,谢谢 – StackTrace

1

您使用File.Copy如下,

File.Copy(openFileDialogCSV.FileName., openFileDialogCSV.FileName + ".txt"); 
+0

哪里得到这个错误?哪一行? –

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可以通过任何你想要的文件名进行更改。