Skip to content

Instantly share code, notes, and snippets.

@Digiman
Last active August 29, 2015 14:01
Show Gist options
  • Save Digiman/374bc54582bc77036d35 to your computer and use it in GitHub Desktop.
Save Digiman/374bc54582bc77036d35 to your computer and use it in GitHub Desktop.
Sample class for work with files. Used by me at one large application.
/// <summary>
/// Вспомогательный класс для работы с файлами.
/// </summary>
public static class FilesHelper
{
/// <summary>
/// Получение расширения файла.
/// </summary>
/// <param name="filename">Файл для разбора (полный путь к нему).</param>
/// <returns>Возвращает расширение файла.</returns>
public static string GetFileExtension(string filename)
{
return new FileInfo(filename).Extension.Remove(0, 1);
}
/// <summary>
/// Получение имени файла без его расширения.
/// </summary>
/// <param name="filename">Имя файла (полный путь).</param>
/// <returns>Возвращает имя файла.</returns>
public static string GetFileName(string filename)
{
var mas = new FileInfo(filename).Name.Split('.');
return mas[0];
}
/// <summary>
/// Изменение расширения файла.
/// </summary>
/// <param name="filename">Полный путь к файлу для смены расширения.</param>
/// <param name="newExtension">Новое расширение.</param>
/// <returns>Возвращает путь к файлу с измененным расширением.</returns>
public static string ChangeExtension(string filename, string newExtension)
{
var mas = filename.Split('.');
return String.Format("{0}.{1}", mas[0], newExtension);
}
/// <summary>
/// Добавление текста к имени файла.
/// </summary>
/// <param name="filename">Имя файла (полный путь к нему).</param>
/// <param name="appendText">Текст для добавления к имени файла.</param>
/// <returns>Возвращает новое имя файла с путем к нему.</returns>
public static string AddToFileName(string filename, string appendText)
{
var name = GetFileName(filename);
var ext = GetFileExtension(filename);
var length = (name + "." + ext).Length;
var path = filename.Remove(filename.Length - length, length);
var newname = String.Format("{0}{1}", name, appendText);
return String.Format("{0}{1}.{2}", path, newname, ext);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment