ds5678 4c6c28e88b Refactoring
* Use preview language version
* Apply various code fixers
* Remove TypeTreeHelper
* Remove unused properties from IExportContainer
2025-04-29 11:31:02 -07:00

46 lines
1.1 KiB
C#

namespace AssetRipper.IO.Files.Utils;
public static class TemporaryFileStorage
{
private static string ExecutingDirectory => AppContext.BaseDirectory;
public static string LocalTemporaryDirectory { get; } = Path.Join(ExecutingDirectory, "temp", GetRandomString()[0..4]);
public static string TemporaryDirectory
{
get;
set
{
if (!string.IsNullOrWhiteSpace(value))
{
field = Path.GetFullPath(value);
}
}
} = LocalTemporaryDirectory;
public static void DeleteTemporaryDirectory()
{
if (Directory.Exists(TemporaryDirectory))
{
Directory.Delete(TemporaryDirectory, true);
}
}
private static string GetRandomString() => Guid.NewGuid().ToString();
public static string CreateTemporaryFolder()
{
string path = Path.Join(TemporaryDirectory, GetRandomString()[0..8]);
Directory.CreateDirectory(path);
return path;
}
public static string CreateTemporaryFile()
{
Directory.CreateDirectory(TemporaryDirectory);
string path = Path.Join(TemporaryDirectory, GetRandomString());
File.Create(path).Dispose();
return path;
}
}