Update text within a file by replacing a substring within the file.
//
// SubSonic - http://subsonicproject.com
//
// The contents of this file are subject to the New BSD
// License (the "License"); you may not use this file
// except in compliance with the License. You may obtain a copy of
// the License at http://www.opensource.org/licenses/bsd-license.php
//
// Software distributed under the License is distributed on an
// "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
// implied. See the License for the specific language governing
// rights and limitations under the License.
//
using System.IO;
using System.Net;
namespace MVCPets.Extensions
{
public static class IO
{
/// <summary>
/// Update text within a file by replacing a substring within the file.
/// </summary>
/// <param name="absolutePath">The complete file path to write to.</param>
/// <param name="lookFor">A String to be replaced.</param>
/// <param name="replaceWith">A String to replace all occurrences of lookFor.</param>
public static void UpdateFileText(this string absolutePath, string lookFor, string replaceWith)
{
string newText = GetFileText(absolutePath).Replace(lookFor, replaceWith);
WriteToFile(absolutePath, newText);
}
/// <summary>
/// Read a text file and obtain it's contents.
/// </summary>
/// <param name="absolutePath">The complete file path to write to.</param>
/// <returns>String containing the content of the file.</returns>
public static string GetFileText(this string absolutePath)
{
using (StreamReader sr = new StreamReader(absolutePath))
return sr.ReadToEnd();
}
/// <summary>
/// Writes out a string to a file.
/// </summary>
/// <param name="absolutePath">The complete file path to write to.</param>
/// <param name="fileText">A String containing text to be written to the file.</param>
public static void WriteToFile(this string absolutePath, string fileText)
{
using (StreamWriter sw = new StreamWriter(absolutePath, false))
sw.Write(fileText);
}
}
}
Related examples in the same category