Path.ChangeExtension. This modifies a path string. It can, for example, change a file ending in a ".txt" extension to end in the ".html" extension.
Use ChangeExtension with string arguments such as ".txt". You can use null to remove the entire extension. This makes it unnecessary to write custom string methods.
First, we use Path.ChangeExtension to change the extension of a path string in the program's memory. The Path class does not access the disk or persist the change.
Detail The method changes the path string's memory representation and returns a reference to the new string data.
And After you receive the results of Path.ChangeExtension, you must write the new file to disk or move the old one.
Detail We call File.WriteAllText to write to the disk. We change the extension of a path to have ".html" instead of a ".txt" extension.
Info You must specify the leading period, not just 3 letters, on the extension string.
using System.IO;
class Program
{
static void Main()
{
// The file name.
string path = "test.txt";
// Make sure the file exists.
File.WriteAllText(path, "Tutorial file");
// Change the path name to have a new extension in memory.
string changed = Path.ChangeExtension(path, ".html");
// Create file with the new extension name.
File.WriteAllText(changed, "Changed file");
}
}test.txt
test.html
Remove extension. We can remove the extension by providing null. Because the Path class has no RemoveExtension method, providing null is the clearest way to remove the extension.
Tip If you pass an empty string "" to ChangeExtension, the period is not removed.
using System;
using System.IO;
class Program
{
static void Main()
{
string original = "file.txt";
Console.WriteLine(Path.ChangeExtension(original, ""));
Console.WriteLine(Path.ChangeExtension(original, null));
}
}file.
file
A summary. We used the Path.ChangeExtension method. This method receives 2 parameters: the path string you want to change, and the new extension including the leading period.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Nov 17, 2022 (simplify).