2013-07-03 183 views
3

我已经从窗口应用程序中的filedialog中读取了csv文件。将文件复制到窗口应用程序中的文件夹中

不,我想复制一个特定的文件到一个文件夹,这是产生一个问题。

的代码如下

OpenFileDialog op1 = new OpenFileDialog(); 
op1.Multiselect = false; 
op1.ShowDialog(); 
op1.Filter = "allfiles|*.csv"; 
txtSearchName.Text = op1.FileName; 


File.Copy(op1.FileName, "C:\\Users\\skysoft\\Documents\visual studio 2010\\Projects\\MailSend\\MailSend\\CsvFile\\" + op1.FileName); 

什么我做错了它,请帮助。

回答

2

我会建议始终使用@符号之前路径字符串,以避免出现问题像您一样的: 需要1日前“视觉更反斜线工作室2010“。例如:

@"C:\Users\skysoft\Documents\visual studio 2010\Projects\MailSend\MailSend\CsvFile\" 

也,你给的方法

"C:\\Users\\skysoft\\Documents\visual studio 2010\\Projects\\MailSend\\MailSend\\CsvFile\\" + op1.FileName 

其转化为

"C:\\Users\\skysoft\\Documents\visual studio 2010\\Projects\\MailSend\\MailSend\\CsvFile\\" + "c:\\...." 

为keyboardP说还是op1.FileName.Substring(op1.LastIndexOf('\\'))

+0

谢谢主席..但现在它说,给定的路径格式不支持。 – Abhishek

+0

文件格式有什么问题? – Abhishek

+0

作为keyboardP说,正如我担心的,你给的路径是c:\ .... c:\ ... –

2

检查字符串,那里有一个丢失的反斜杠\ Visual Studio的前

File.Copy(op1.FileName, "C:\\Users\\skysoft\\Documents\visual studio 2010\\Projects\\MailSend\\MailSend\\CsvFile\\" + op1.FileName); 
+0

谢谢先生..现在说它不支持以下路径格式..如何纠正它 – Abhishek

+0

op1.FileName的值是什么?确保您没有将文件名和路径附加到输出中,因为您已经指定了路径。 – Riv

1

op1.FileName包含了你应该做的Path.GetFileName(op1.FileName)完整路径,而你只需要追加时的文件名将其添加到目标目录。

using(OpenFileDialog op1 = new OpenFileDialog()) 
{ 
    op1.Multiselect = false;   
    op1.Filter = "allfiles|*.csv"; 
    op1.ShowDialog(); 
    txtSearchName.Text = op1.FileName; 

    string dest = Path.Combine(@"C:\Users\skysoft\Documents\visual studio 2010\Projects\MailSend\MailSend\CsvFile\", Path.GetFileName(op1.FileName)); 
    File.Copy(op1.FileName, dest); 
} 
相关问题