Bonjour à tous,
Je rencontre un pb avec la fonction Path.GetFileName ()
Je l'utilise pour récupérer le nom des fichiers qui correspondent à des item sélectionnés dans une ListeView
Le but: copier ce/ces fichiers dans un autre répertoire
le problème c'est qu'en sortie je récupère le FileName avec une accolade à la fin :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 private void CopyFile ( ListView.SelectedListViewItemCollection SrcFile ) { foreach ( ListViewItem SelectedFile in SrcFile ) { string FileName = Path.GetFileName ( SelectedFile.ToString () ); string SourceFile = SourcePath + "\\" + FileName; string DestFile = DestPath + "\\" + FileName; File.Copy ( SourceFile, DestFile ); } }
donc j'ai légèrement feinter en récupérant le FileName sans extension et en le rajoutant après, tout fonctionnait bien, j'ai continué ce que j'avais à faire.DSC_1002.jpg}
et là je vais pour tester ce que j'ai fait et je me retrouve avec une accolade devant le FileName
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 string Ext = ".jpg"; string FileName = Path.GetFileNameWithoutExtension ( SelectedFile.ToString () ) string SourceFile = SourcePath + "\\" + FileName + Ext; string DestFile = DestPath + "\\" + FileName + Ext;
Bref, je ne vois pas trop d'où vient le problème puisque logiquement la fonction GetFileName devrait bien me donner DSC_1002.jpg{DSC_1002.jpg
au final je me retrouve à devoir faire un Substring en plus pour récupérer le nom du fichier comme je veux et pouvoir copier mon fichier sélectionné
Quelqu'un a-t-il déjà rencontré ce problème ? une solution ? est-ce que ca vient du fait que j'utilise l'item sélectionné d'une listeview ?string FileName = Path.GetFileNameWithoutExtension ( SelectedFile.ToString () ).Substring(2);
y a-t-il une autre méthode plus adaptée ? car même si ce que j'ai fait n'est peut être par super optimisé, ca fait un peu "crade" d'enlever l'extension pour la remettre ensuite
Merci d'avance pour vos avis
(j'utilise VS 2005 Framework 2.0)
Partager