将文件扩展名添加到无扩展名文件

Ric*_*man 16 c#

我正在尝试为OpenFileDialog我的C#应用​​程序中选择的文件添加扩展名.我对没有扩展名的文件有困难.

虽然我还没有测试过以下方法上的文件扩展,我知道,它并不适用于文件的工作没有扩展名(这是真的我想在这里工作什么的).

string tPath = videoPath + videoName;
string tPath2 = Path.ChangeExtension(tPath, ".yuv");
Run Code Online (Sandbox Code Playgroud)

tPath2将反映到标题更改,但似乎不会影响文件本身,只会影响ChangeExtension方法返回的字符串.我只是继续将文件复制到一个具有相应名称和扩展名的新文件,但我们正在讨论巨大的,未压缩的高清视频文件.是否有利用方式tPath2FileFileInfo我失踪的对象?

我感谢任何人都可以在这里给我的帮助.谢谢.

Ada*_*son 14

Path班只允许您在文件上执行的操作路径(这意味着string在较高的水平,而不是文件本身).

您需要使用File.Move才能重命名文件(包括只添加扩展名).

string tPath = videoPath + videoName;
string tPath2 = Path.ChangeExtension(tPath, ".yuv");

File.Move(tPath, tPath2); //effectively changes the extension
Run Code Online (Sandbox Code Playgroud)


And*_*ber 5

要在不进行复制的情况下执行重命名,请在结尾处添加以下行:

System.IO.File.Move(tPath, tPath2);
Run Code Online (Sandbox Code Playgroud)

(File.Move(src, dst)做同样的事情FileInfo.MoveTo(dst))

对于没有扩展名的文件问题,请尝试以下操作:

if(string.IsNullOrEmpty(Path.GetExtension(tPath)){
  tPath += ".yuv";
}
Run Code Online (Sandbox Code Playgroud)