使用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”的结果。 但是,在不同的级别,这看起来很奇怪,因为图像文件具有不同的元数据,不能很容易地转换。