diff --git a/Source/AssetRipper.IO.Files/FileSystem.cs b/Source/AssetRipper.IO.Files/FileSystem.cs index 7277504c7..8a4fec3b5 100644 --- a/Source/AssetRipper.IO.Files/FileSystem.cs +++ b/Source/AssetRipper.IO.Files/FileSystem.cs @@ -36,7 +36,7 @@ public partial class FileSystem public virtual void Delete(string path) => throw new NotSupportedException(); - public string CreateTemporaryFolder() + public string CreateTemporary() { string path = Path.Join(Parent.TemporaryDirectory, GetRandomString()[0..8]); Directory.Create(path); diff --git a/Source/AssetRipper.IO.Files/Streams/Smart/SmartStream.cs b/Source/AssetRipper.IO.Files/Streams/Smart/SmartStream.cs index e6add1a88..3549c2f3e 100644 --- a/Source/AssetRipper.IO.Files/Streams/Smart/SmartStream.cs +++ b/Source/AssetRipper.IO.Files/Streams/Smart/SmartStream.cs @@ -1,6 +1,4 @@ -using AssetRipper.IO.Files.Utils; - -namespace AssetRipper.IO.Files.Streams.Smart; +namespace AssetRipper.IO.Files.Streams.Smart; public sealed partial class SmartStream : Stream { @@ -33,7 +31,7 @@ public sealed partial class SmartStream : Stream public static SmartStream CreateTemp() { - string tempFile = TemporaryFileStorage.CreateTemporaryFile(); + string tempFile = LocalFileSystem.Instance.File.CreateTemporary(); return new SmartStream(new FileStream(tempFile, FileMode.Open, FileAccess.ReadWrite, FileShare.None, 4096, FileOptions.DeleteOnClose)); } diff --git a/Source/AssetRipper.IO.Files/Utils/TemporaryFileStorage.cs b/Source/AssetRipper.IO.Files/Utils/TemporaryFileStorage.cs deleted file mode 100644 index 7f3864d3c..000000000 --- a/Source/AssetRipper.IO.Files/Utils/TemporaryFileStorage.cs +++ /dev/null @@ -1,45 +0,0 @@ -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; - } -} diff --git a/Source/AssetRipper.Import/Structure/ZipExtractor.cs b/Source/AssetRipper.Import/Structure/ZipExtractor.cs index 132423a80..48e9f63c1 100644 --- a/Source/AssetRipper.Import/Structure/ZipExtractor.cs +++ b/Source/AssetRipper.Import/Structure/ZipExtractor.cs @@ -1,5 +1,5 @@ using AssetRipper.Import.Logging; -using AssetRipper.IO.Files.Utils; +using AssetRipper.IO.Files; using ICSharpCode.SharpZipLib.Zip; namespace AssetRipper.Import.Structure; @@ -52,7 +52,7 @@ public static class ZipExtractor return zipFilePath; } - string outputDirectory = TemporaryFileStorage.CreateTemporaryFolder(); + string outputDirectory = LocalFileSystem.Instance.Directory.CreateTemporary(); DecompressZipArchive(zipFilePath, outputDirectory); return outputDirectory; } @@ -64,8 +64,8 @@ public static class ZipExtractor return xapkFilePath; } - string intermediateDirectory = TemporaryFileStorage.CreateTemporaryFolder(); - string outputDirectory = TemporaryFileStorage.CreateTemporaryFolder(); + string intermediateDirectory = LocalFileSystem.Instance.Directory.CreateTemporary(); + string outputDirectory = LocalFileSystem.Instance.Directory.CreateTemporary(); DecompressZipArchive(xapkFilePath, intermediateDirectory); foreach (string filePath in Directory.GetFiles(intermediateDirectory)) {