protected override void SetItem(string path, object value) { ZipFileContentDynamicParameters parameters = DynamicParameters as ZipFileContentDynamicParameters; Stream stream = ZipDrive.Archive.GetFile(GetPathCaseInsensitivePath(ParsePath(path, false))).GetStream(FileMode.Open, FileAccess.ReadWrite); if (parameters.UsingByteEncoding) { if (value.GetType() == typeof(byte[])) { foreach (byte bajt in (byte[])value) { stream.WriteByte(bajt); } } else { WriteError(new ErrorRecord(new ArgumentException("content"), "ByteDataWasExpected", ErrorCategory.InvalidArgument, path)); } } else { StreamWriter writer = new StreamWriter(stream, parameters.EncodingType); writer.Write(value); writer.Flush(); writer.Close(); } stream.Flush(); stream.Close(); }
public IContentWriter GetContentWriter(string path) { ZipFileContentDynamicParameters parameters = DynamicParameters as ZipFileContentDynamicParameters; return(new ZipFileContentReaderWriter(this, path, parameters.FileMode, parameters.FileAccess, parameters.EncodingType, parameters.UsingByteEncoding)); }