Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用C将多个文件的扩展名更改为jpeg#_C#_.net_Jpeg - Fatal编程技术网

C# 使用C将多个文件的扩展名更改为jpeg#

C# 使用C将多个文件的扩展名更改为jpeg#,c#,.net,jpeg,C#,.net,Jpeg,我正在尝试将文件夹中文件的扩展名更改为jpeg。我使用了下面的代码来更新扩展,它工作得很好。但是当我尝试打开每个文件时,我在photo viewer中得到错误,因为“Windows photo viewer无法打开此图片,因为文件似乎已损坏、损坏或太大。” JPEG文件不是文本文件。您需要读取和写入字节。即: DirectoryInfo d = new DirectoryInfo(@"E:\New folder (2)"); FileInfo[] Files = d.GetFiles();

我正在尝试将文件夹中文件的扩展名更改为jpeg。我使用了下面的代码来更新扩展,它工作得很好。但是当我尝试打开每个文件时,我在photo viewer中得到错误,因为“Windows photo viewer无法打开此图片,因为文件似乎已损坏、损坏或太大。”


JPEG文件不是文本文件。您需要读取和写入字节。即:

DirectoryInfo d = new DirectoryInfo(@"E:\New folder (2)");
FileInfo[] Files = d.GetFiles(); 

foreach (FileInfo file in Files)
{
   string changed =  Path.ChangeExtension(file.FullName, "jpg");
   File.Copy(file.FullName, changed);
} 

当然,文件本身应该是JPEG格式,这样才能正常工作。

“我正在尝试更改文件夹中文件的扩展名”-这听起来像是一个错误。如果你把汽车叫做牛,你能把它放进绞肉机吗?你在解决什么终极问题?是否要转换图像的格式?或者文件不是图像的开头?更改扩展名并不会神奇地使其成为图片。文件的原始扩展名是什么?你不能仅仅因为你称一个文本文件为图像就期望它变成一个图像。在您的情况下,文件必须是jpg,而不是位图、tiff或其他格式。您是否费心在文本编辑器中打开一个新创建的文件?为什么要将字符串“Changed file”写入文件?这个代码应该做什么?您声称要重命名文件,但您完全是在做其他事情。您试图更改的文件的扩展名是什么?如果不需要,则会保留原始文件。Move只会重命名文件。@PaulF,是的,显然它是“副本”。“更改多个文件的扩展名”似乎暗示OP想要重命名而不是复制-所以如果需要的话,只需添加一条注释来帮助。@PaulF,是的,你是对的,我看到他的代码后害怕编写“重命名”操作。也许我不应该做保护性的假设。
DirectoryInfo d = new DirectoryInfo(@"E:\New folder (2)");
FileInfo[] Files = d.GetFiles(); 

foreach (FileInfo file in Files)
{
   string changed =  Path.ChangeExtension(file.FullName, "jpg");
   File.Copy(file.FullName, changed);
}