Esempio n. 1
0
 /**
  * <summary>Append a list of tags to the end of the file.</summary>
  * <param name="tags">The list of tags.</param>
  */
 public void AppendAll(List <ITag> tags)
 {
     using (MemoryStream decompressedData = new MemoryStream())
     {
         using (FileStream fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read, FileShare.Write))
         {
             using (Stream compressStream = GetDecompressStream(fs))
                 compressStream.CopyTo(decompressedData);
         }
         BigBinaryWriter bw = new BigBinaryWriter(decompressedData);
         bw.Seek(0, SeekOrigin.End);
         foreach (ITag tag in tags)
         {
             tag.WriteData(bw);
         }
         using (FileStream fs = new FileStream(file.FullName, FileMode.Create, FileAccess.Write, FileShare.Write))
         {
             using (Stream stream = GetCompressStream(fs))
             {
                 decompressedData.Position = 0;
                 decompressedData.CopyTo(stream);
             }
         }
     }
 }
Esempio n. 2
0
        /**
         * <summary>Append tags to the end of the file.</summary>
         * <param name="tag">The tag to be appended.</param>
         */
        public void Append(ITag tag)
        {
            BigBinaryWriter bw = new BigBinaryWriter(memStream);

            bw.Seek(0, SeekOrigin.End);
            tag.WriteData(bw);
            bw.Flush();
        }
Esempio n. 3
0
        /**
         * <summary>Append a list of tags to the end of the file.</summary>
         * <param name="tags">The list of tags.</param>
         */
        public void AppendAll(List <ITag> tags)
        {
            BigBinaryWriter bw = new BigBinaryWriter(memStream);

            bw.Seek(0, SeekOrigin.End);
            foreach (ITag tag in tags)
            {
                tag.WriteData(bw);
            }
            bw.Flush();
        }