mirror of
https://github.com/github/codeql.git
synced 2025-12-17 09:13:20 +01:00
55 lines
1.5 KiB
C#
55 lines
1.5 KiB
C#
using System.IO;
|
|
|
|
namespace Semmle.Util
|
|
{
|
|
public static class FileUtils
|
|
{
|
|
public static string ConvertToWindows(string path)
|
|
{
|
|
return path.Replace('/', '\\');
|
|
}
|
|
|
|
public static string ConvertToUnix(string path)
|
|
{
|
|
return path.Replace('\\', '/');
|
|
}
|
|
|
|
public static string ConvertToNative(string path)
|
|
{
|
|
return Path.DirectorySeparatorChar == '/' ?
|
|
path.Replace('\\', '/') :
|
|
path.Replace('/', '\\');
|
|
}
|
|
|
|
/// <summary>
|
|
/// Moves the source file to the destination, overwriting the destination file if
|
|
/// it exists already.
|
|
/// </summary>
|
|
/// <param name="src">Source file.</param>
|
|
/// <param name="dest">Target file.</param>
|
|
public static void MoveOrReplace(string src, string dest)
|
|
{
|
|
// Potential race condition here.
|
|
// .net offers the facility to either move a file, or to replace it.
|
|
File.Delete(dest);
|
|
File.Move(src, dest);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Attempt to delete the given file (ignoring I/O exceptions).
|
|
/// </summary>
|
|
/// <param name="file">The file to delete.</param>
|
|
public static void TryDelete(string file)
|
|
{
|
|
try
|
|
{
|
|
File.Delete(file);
|
|
}
|
|
catch (IOException)
|
|
{
|
|
// Ignore
|
|
}
|
|
}
|
|
}
|
|
}
|