C# 重命名文件的最佳有效方法

C# 重命名文件的最佳有效方法,c#,wpf,C#,Wpf,我有一个wpf应用程序,内部使用图像大小调整器作为该应用程序中的第三方工具。我正在尝试实现以下场景: 我有文本框(员工姓名),例如“Madona” 我有一个与第三方工具“图像大小调整器”链接的图像文本框 如果我选择图像(例如:Madona123.jpg),图像大小调整器将生成17个不同大小的图像,并将其放入我的源文件夹(例如Madona123_80x60.jpg,Madona123_150x150.jpg,等等) 但是我正在尝试更改文件名,例如:Madona_80x60.jpg,Madona_1

我有一个wpf应用程序,内部使用图像大小调整器作为该应用程序中的第三方工具。我正在尝试实现以下场景:

我有文本框(员工姓名),例如“Madona”
我有一个与第三方工具“图像大小调整器”链接的图像文本框

如果我选择图像(例如:
Madona123.jpg
),图像大小调整器将生成17个不同大小的图像,并将其放入我的源文件夹(例如
Madona123_80x60.jpg
Madona123_150x150.jpg
,等等)

但是我正在尝试更改文件名,例如:
Madona_80x60.jpg
Madona_150x150.jpg

我有两个选择,但不确定哪一个有效

  • 从图像所在的源文件夹中创建临时目录,并根据“员工姓名”更改名称,然后将该图像传递到“图像大小调整器”工具

  • 在目标文件夹中生成图像后,请更改文件名


我不确定哪一个是最好的,我还需要考虑哪些其他问题,谢谢您的输入。

选项1有一个额外的复制命令-您可以在复制时重命名。但使用选项2,您可以进行多次重命名。为了简单起见,我会选择1。

根据您建议的方案,我会选择选项2

  • 如您所述,创建一个额外的临时文件夹可能会导致权限问题,因此,如果您不完全确定将使用应用程序的计算机的设置,则选项1可能会导致您的应用程序失败
  • 第二个(也是非常次要的)原因是,选项2将创建一个额外的文件夹,即使它在权限方面没有失败。如果您选择将临时文件夹作为应用程序的一部分,人们会倾向于删除临时文件夹及其内容。。或者你可以在每次启动应用程序时创建它,但这也需要一点编码。(尽管如此,这只是一个次要的原因,而不是真正会让天平倾斜的原因。)
我确实同意布拉姆的说法,即选项1将使基本编码更加简单,但我认为,除了一点额外的工作,选项2将减少失败的可能性


因此,如果你要在一个易于管理的环境中使用它,在这个环境中你知道你的目标机器的设置,那么选择一,它需要更少更直接的编码,如果你要在任何其他类型的环境中使用它,选择二。这会给你最大的成功机会。

我同意,但如果用户没有写入权限在他们的机器中创建临时目录,那么选项1将失败,不是吗。是的,但既然你把它作为一个选项,我认为他们有这个权限。抱歉@Blam,忘记了安全问题。在这种情况下,我只有一个选择。我确实有这个工具的包装类。我删除了一条评论。现在恢复:“您的第三方库的名称是什么”。我没有使用该库,但该库没有重命名输出文件功能吗?我确信,您可以在控制台模式下使用MOGRIFY(如果我没有弄错的话)设置不同的文件重命名规则。也许,你可以在C++代码中使用这个技术?MaGICK的图像对象有一个图像的代码>文件名< /Cord>属性。在调用
resize
函数之前,您可以根据需要更改它吗?