public OutStream writeNext(Uri path, DateTime modifyTime) { if (m_zipOut == null) throw UnsupportedErr.make("Zip not opened for writing").val; if (path.frag() != null) throw ArgErr.make("Path must not contain fragment: " + path).val; if (path.queryStr() != null) throw ArgErr.make("Path must not contain query: " + path).val; try { string zipPath = path.ToString(); if (zipPath.StartsWith("/")) zipPath = zipPath.Substring(1); ZipEntry entry = new ZipEntry(zipPath); entry.DateTime = new System.DateTime(modifyTime.dotnet()); m_zipOut.PutNextEntry(entry); return new ZipSysOutStream(m_zipOut); } catch (System.IO.IOException e) { throw IOErr.make(e).val; } }