File Stream C#

#region License
// (c) Intergen.
// This source is subject to the Microsoft Public License (Ms-PL).
// Please see http://go.microsoft.com/fwlink/?LinkID=131993 for details.
// All other rights reserved.
#endregion
using System;
using System.Text;
using System.IO;
using System.Web;
using System.Web.Hosting;
namespace Utilities.IO
{
  public class FileUtils
  {
    public static string MapPath(string path)
    {
      if (Path.IsPathRooted(path))
      {
        return path;
      }
      else if (HostingEnvironment.IsHosted)
      {
        return HostingEnvironment.MapPath(path);
      }
      else if (VirtualPathUtility.IsAppRelative(path))
      {
        string physicalPath = VirtualPathUtility.ToAbsolute(path, "/");
        physicalPath = physicalPath.Replace('/', '\\');
        physicalPath = physicalPath.Substring(1);
        physicalPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, physicalPath);
        return physicalPath;
      }
      else
      {
        throw new Exception("Could not resolve non-rooted path.");
      }
    }
  }
}