/// <summary> /// サブ ディレクトリの StorageDirectory を取得します。 /// </summary> /// <param name="name">サブ ディレクトリ名。</param> /// <returns>サブ ディレクトリの StorageDirectory。</returns> public StorageDirectory GetDirectory(string name) { if (!DirectoryExists(name)) { throw new InvalidOperationException(string.Format("The directory '{0}' does not exists.", name)); } var path = ResolveChildPath(name); var directory = new StorageDirectory(container, name, path); directory.LoadIndexFile(); return(directory); }
/// <summary> /// StorageContainer のルート ディレクトリの StorageDirectory を取得します。 /// このメソッドは、ルート ディレクトリに StorageDirectoryIndex が存在しない場合、 /// サブ ディレクトリおよびファイルが空の StorageDirectoryIndex を生成して保存します。 /// </summary> /// <param name="container">StorageContainer。</param> /// <returns>ルート ディレクトリの StorageDirectory。</returns> internal static StorageDirectory GetRootDirectory(StorageContainer container) { if (container == null) { throw new ArgumentNullException("container"); } // ルート ディレクトリのための StorageDirectory を初期化します。 var directory = new StorageDirectory(container, null, null); if (container.FileExists(indexFileName)) { directory.LoadIndexFile(); } else { directory.CreateIndexFile(); } return(directory); }
/// <summary> /// サブ ディレクトリの StorageDirectory を取得します。 /// </summary> /// <param name="name">サブ ディレクトリ名。</param> /// <returns>サブ ディレクトリの StorageDirectory。</returns> public StorageDirectory GetDirectory(string name) { if (!DirectoryExists(name)) throw new InvalidOperationException(string.Format("The directory '{0}' does not exists.", name)); var path = ResolveChildPath(name); var directory = new StorageDirectory(container, name, path); directory.LoadIndexFile(); return directory; }
/// <summary> /// StorageContainer のルート ディレクトリの StorageDirectory を取得します。 /// このメソッドは、ルート ディレクトリに StorageDirectoryIndex が存在しない場合、 /// サブ ディレクトリおよびファイルが空の StorageDirectoryIndex を生成して保存します。 /// </summary> /// <param name="container">StorageContainer。</param> /// <returns>ルート ディレクトリの StorageDirectory。</returns> internal static StorageDirectory GetRootDirectory(StorageContainer container) { if (container == null) throw new ArgumentNullException("container"); // ルート ディレクトリのための StorageDirectory を初期化します。 var directory = new StorageDirectory(container, null, null); if (container.FileExists(indexFileName)) { directory.LoadIndexFile(); } else { directory.CreateIndexFile(); } return directory; }