32 lines
969 B
C#
32 lines
969 B
C#
|
|
using System;
|
|||
|
|
using TrrntSevenZip.IO;
|
|||
|
|
|
|||
|
|
namespace TrrntSevenZip.SupportedFiles
|
|||
|
|
{
|
|||
|
|
public static class DirUtil
|
|||
|
|
{
|
|||
|
|
public static void CreateDirForFile(string sFilename)
|
|||
|
|
{
|
|||
|
|
string strTemp = Path.GetDirectoryName(sFilename);
|
|||
|
|
|
|||
|
|
if (String.IsNullOrEmpty(strTemp)) return;
|
|||
|
|
|
|||
|
|
if (Directory.Exists(strTemp)) return;
|
|||
|
|
|
|||
|
|
|
|||
|
|
while (strTemp.Length > 0 && !Directory.Exists(strTemp))
|
|||
|
|
{
|
|||
|
|
int pos = strTemp.LastIndexOf(Path.DirectorySeparatorChar);
|
|||
|
|
if (pos < 0) pos = 0;
|
|||
|
|
strTemp = strTemp.Substring(0, pos);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
while (sFilename.IndexOf(Path.DirectorySeparatorChar, strTemp.Length + 1) > 0)
|
|||
|
|
{
|
|||
|
|
strTemp = sFilename.Substring(0, sFilename.IndexOf(Path.DirectorySeparatorChar, strTemp.Length + 1));
|
|||
|
|
Directory.CreateDirectory(strTemp);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|