C# 创建与文件夹名称同名的文件,并带有扩展名

本文关键字:扩展名 文件 创建 文件夹 | 更新日期: 2023-09-27 18:36:39

假设我有一个名为 test 的文件夹。
现在,我将该文件夹传递到程序中,它将在包含目标文件夹的同一目录中输出一个名为test.xyz的文件。

我使用的一般逻辑是这样的

string outDir = Path.GetDirectoryName(path);
string outName = Path.GetFileName(path).TrimEnd("''".ToCharArray()) + ".xyz";
string outFile = Path.Combine(outDir, outName);

这有效,但是仅仅为了构建我的新文件名而执行这么多操作似乎有点过分。

1: 我可以减少路径调用次数来实现我的结果吗?
2:我可以对第二行做一些事情来避免修剪并避免使用该添加操作吗?

C# 创建与文件夹名称同名的文件,并带有扩展名

这似乎在我的快速测试中有效:

string outFile = Path.GetFullPath(path) + ".xyz";

虽然我刚刚意识到你的path可能已经包含一个尾部斜杠。如果无法更改它以避免这种情况,则仍必须包含.TrimEnd()调用。

在我的测试中,我使用的是var path = @"C:'Windows'System32";.

你可以使用FileInfo!

string path = @"C:'Windows'System32'";
FileInfo fi = new FileInfo(path);
string outFile = fi.DirectoryName + ".xyz";

就像一个魅力。 即使在目录字符串中使用尾部斜杠