使用C#更改文件扩展名
我有很多文件types:pdf,tiff,jpeg,bmp。 等我的问题是如何更改文件扩展名? 我试过这个:
my file= c:/my documents/my images/cars/a.jpg; string extension = Path.GetExtension(myffile); myfile.replace(extension,".Jpeg");  无论是什么types的文件,我指定的格式必须与文件名。 但它不起作用。 我从浏览器中获取文件path,如c:\..\..\a.jpg ,文件格式为a.jpeg 。 所以,当我试图删除它,它给了我一个错误: Cannot find the file on specified path' 。 所以,我认为这与不匹配的文件扩展名有关。 所以,我试图将.jpg转换为.jpeg然后删除文件。 
 有: Path.ChangeExtension方法。 例如: 
 var result = Path.ChangeExtension(myffile, ".jpg"); 
 在这种情况下,如果您还想实际更改扩展名,则可以使用File.Move方法: 
 File.Move(myffile, Path.ChangeExtension(myffile, ".jpg")); 
你应该做的文件移动重命名。 在您的示例代码中,您只是更改string,而不是文件:
 myfile= "c:/my documents/my images/cars/a.jpg"; string extension = Path.GetExtension(myffile); myfile.replace(extension,".Jpeg"); 
你只是改变myfile(这是一个string)。 要移动实际的文件,你应该这样做
 FileInfo f = new FileInfo(myfile); f.MoveTo(Path.ChangeExtension(myfile, ".Jpeg")); 
请参阅FileInfo.MoveTo
尝试这个。
 filename = Path.ChangeExtension(".blah") 
在你案例:
 myfile= c:/my documents/my images/cars/a.jpg; string extension = Path.GetExtension(myffile); filename = Path.ChangeExtension(myfile,".blah") 
你也应该看这个post:
http://msdn.microsoft.com/en-us/library/system.io.path.changeextension.aspx
顾名思义,GetFileNameWithoutExtension不会返回文件的扩展名。 在你的情况下,它只会返回“a”。 你想追加你的“.JPEG”的结果。 但是,在不同的级别,这看起来很奇怪,因为图像文件具有不同的元数据,不能很容易地转换。