TempStorage: change type of createdTempFiles to List
This commit is contained in:
parent
27ba72be33
commit
3fac697963
@ -3,7 +3,7 @@
|
|||||||
internal class TempStorage : IDisposable
|
internal class TempStorage : IDisposable
|
||||||
{
|
{
|
||||||
private string directory;
|
private string directory;
|
||||||
private Dictionary<FileStream, string> createdTempFiles;
|
private List<string> createdTempFiles;
|
||||||
private Random rng;
|
private Random rng;
|
||||||
|
|
||||||
public TempStorage()
|
public TempStorage()
|
||||||
@ -16,17 +16,16 @@ internal class TempStorage : IDisposable
|
|||||||
} while (Directory.Exists(directory));
|
} while (Directory.Exists(directory));
|
||||||
Directory.CreateDirectory(directory);
|
Directory.CreateDirectory(directory);
|
||||||
|
|
||||||
createdTempFiles = new Dictionary<FileStream, string>();
|
createdTempFiles = new List<string>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
foreach (var kv in createdTempFiles)
|
foreach (string filename in createdTempFiles)
|
||||||
{
|
{
|
||||||
kv.Key.Dispose();
|
if (File.Exists(filename))
|
||||||
if (File.Exists(kv.Value))
|
|
||||||
{
|
{
|
||||||
File.Delete(kv.Value);
|
File.Delete(filename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Directory.Delete(directory);
|
Directory.Delete(directory);
|
||||||
@ -36,17 +35,17 @@ internal class TempStorage : IDisposable
|
|||||||
{
|
{
|
||||||
string filename = directory + "/" + (prefix != null ? prefix + "-" : "") + RandomHexString(8) + (extension != null ? "." + extension : "");
|
string filename = directory + "/" + (prefix != null ? prefix + "-" : "") + RandomHexString(8) + (extension != null ? "." + extension : "");
|
||||||
FileStream file = File.Open(filename, FileMode.Create, FileAccess.ReadWrite, FileShare.None);
|
FileStream file = File.Open(filename, FileMode.Create, FileAccess.ReadWrite, FileShare.None);
|
||||||
createdTempFiles.Add(file, filename);
|
createdTempFiles.Add(filename);
|
||||||
return (filename, file);
|
return (filename, file);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteTemporaryFile(FileStream file)
|
public void deleteTemporaryFile(string filename)
|
||||||
{
|
{
|
||||||
if (createdTempFiles.ContainsKey(file))
|
if (createdTempFiles.Contains(filename))
|
||||||
{
|
{
|
||||||
File.Delete(createdTempFiles[file]);
|
File.Delete(filename);
|
||||||
|
createdTempFiles.Remove(filename);
|
||||||
}
|
}
|
||||||
file.Dispose();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private string RandomHexString(int n)
|
private string RandomHexString(int n)
|
||||||
|
Loading…
Reference in New Issue
Block a user