Windowsやandroidのファイルシステム上のzipファイルを開くことは先日出来たが、WebDAV上のファイルも開く必要があるため、調べてみて機能確認用のテストコードを以下のようにしてみた。ZipInputStreamの引数にローカルファイルパスではなく、System.IO.Streamの形でurlを渡せば、WebDAV上のzipファイルも開くことが出来た。zipが開くならcpzファイルも開けることになるので Channel Playerに実装出来そうな気配となって来た。
ZipInputStream s;
if (FilePath.StartsWith("http"))
{
System.Uri url = new Uri(FilePath);
Debug.Log("URL:" + url.ToString());
System.IO.Stream tmp_url = new System.IO.BufferedStream(System.Net.WebRequest.Create(url).GetResponse().GetResponseStream());
try
{
s = new ZipInputStream(tmp_url);
ZipEntry theEntry;
// ZipInputStreamから、エントリをtheEntryに取り出す。
while ((theEntry = s.GetNextEntry()) != null)
{
// theEntry.Nameから、ディレクトリ名を取り出す。
string directoryName = Path.GetDirectoryName(theEntry.Name);
// theEntry.Nameからファイル名を取り出す。
string fileName = Path.GetFileName(theEntry.Name);