2013-07-03 1 views
3

Я прочитал файл csv из приложения filedialog в окне.Скопируйте файл в папку в окне приложения

Нет, я хочу скопировать конкретный файл в папку, что создает проблему.

код выглядит следующим образом

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:\\...." 

вы должны сделать Path.GetFileName(op1.FileName) как сказал keyboardP или op1.FileName.Substring(op1.LastIndexOf('\\'))

+0

Спасибо Ma'am .. но теперь он говорит, что данный формат пути не поддерживается. – Abhishek

+0

В чем проблема с файловым форматом? – Abhishek

+0

как keyboardP, и, как я боялся, путь, который вы даете, - c: \ .... c: \ ... –

2

Проверьте строку, Theres недостающий символ обратной косой \ перед визуальной студии

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 содержит полный путь, тогда как вы просто хотите, чтобы имя файла было добавлено в папку назначения.

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