当前位置: 首页>>代码示例>>C#>>正文


C# MemoryStream.Read方法代码示例

本文整理汇总了C#中MemoryStream.Read方法的典型用法代码示例。如果您正苦于以下问题:C# MemoryStream.Read方法的具体用法?C# MemoryStream.Read怎么用?C# MemoryStream.Read使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MemoryStream的用法示例。


在下文中一共展示了MemoryStream.Read方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: getAlbumArtAsTexture

    /*	The only necessary method - follows two step process outlined above
     *	Returns album art as a new texture
     */
    public Texture getAlbumArtAsTexture(GameObject audioHolder, FileInfo f)
    {
        Texture2D albumArt = new Texture2D (1, 1); //empty texture holder

        foreach (Transform file in audioHolder.transform.parent) { //loads all files from current directory - will not result in massive searches because we only pass files until an album container is created
            if (file.gameObject.name.EndsWith(".jpg") || file.gameObject.name.EndsWith(".png")) { //pull album art from images found in directory
                byte[] bytes = System.IO.File.ReadAllBytes(file.gameObject.name); //pull byte stream from image file
                albumArt.LoadImage(bytes); //load byte stream into new texture
                return albumArt;
            }
            else {
                if (file.name != "AlbumTitle") {//scrape album art from music file data
                    TagLib.File tagFile = TagLib.File.Create(file.name);
                    if (tagFile.Tag.Pictures.Length == 0) {
                        return null; //default texture
                    }
                    TagLib.IPicture albumPic = tagFile.Tag.Pictures [0];
                    MemoryStream stream = new MemoryStream (albumPic.Data.Data);
                    byte[] tagBytes;
                    byte[] buffer = new byte[16 * 1024];
                    using (MemoryStream ms = new MemoryStream()) { //read image data into new stream
                        int read;
                        while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) {
                            ms.Write(buffer, 0, read);
                        }
                        tagBytes = ms.ToArray();
                    }
                    albumArt.LoadImage (tagBytes); //convert stream data into new texture
                    return albumArt;
                }
            }
        }

        return null;
    }
开发者ID:robideau,项目名称:MusicShelf,代码行数:38,代码来源:AlbumArtGrabber.cs

示例2: unserialize

    public override void unserialize(MemoryStream stream)
    {
        base.unserialize(stream);
        byte[] bqwGameTime=new byte[4];
        stream.Read(bqwGameTime,0,4);
        qwGameTime = BitConverter.ToUInt32(bqwGameTime,0);

        byte[] bcurServerTime=new byte[4];
        stream.Read(bcurServerTime,0,4);
        curServerTime = BitConverter.ToUInt32(bcurServerTime,0);
    }
开发者ID:minuowa,项目名称:Monos,代码行数:11,代码来源:TimerUserCmd.cs

示例3: MemoryStream_Write_BeyondCapacity

        public static void MemoryStream_Write_BeyondCapacity()
        {
            using (MemoryStream memoryStream = new MemoryStream())
            {
                long origLength = memoryStream.Length;
                byte[] bytes = new byte[10];
                for (int i = 0; i < bytes.Length; i++)
                    bytes[i] = (byte)i;
                int spanPastEnd = 5;
                memoryStream.Seek(spanPastEnd, SeekOrigin.End);
                Assert.Equal(memoryStream.Length + spanPastEnd, memoryStream.Position);

                // Test Write
                memoryStream.Write(bytes, 0, bytes.Length);
                long pos = memoryStream.Position;
                Assert.Equal(pos, origLength + spanPastEnd + bytes.Length);
                Assert.Equal(memoryStream.Length, origLength + spanPastEnd + bytes.Length);

                // Verify bytes were correct.
                memoryStream.Position = origLength;
                byte[] newData = new byte[bytes.Length + spanPastEnd];
                int n = memoryStream.Read(newData, 0, newData.Length);
                Assert.Equal(n, newData.Length);
                for (int i = 0; i < spanPastEnd; i++)
                    Assert.Equal(0, newData[i]);
                for (int i = 0; i < bytes.Length; i++)
                    Assert.Equal(bytes[i], newData[i + spanPastEnd]);
            }
        }
开发者ID:ChuangYang,项目名称:corefx,代码行数:29,代码来源:MemoryStreamTests.cs

示例4: Compress

	public static void Compress(string text, string outfile)
	{
		byte[] buffer = Encoding.UTF8.GetBytes(text);
		MemoryStream ms = new MemoryStream();
		
		using (GZipStream zip = new GZipStream(ms, CompressionMode.Compress, true))
		{
			zip.Write(buffer, 0, buffer.Length);
		}

		ms.Position = 0;
		MemoryStream outStream = new MemoryStream();

		byte[] compressed = new byte[ms.Length];
		ms.Read(compressed, 0, compressed.Length);

		byte[] gzBuffer = new byte[compressed.Length + 4];
		System.Buffer.BlockCopy(compressed, 0, gzBuffer, 4, compressed.Length);
		System.Buffer.BlockCopy(BitConverter.GetBytes(buffer.Length), 0, gzBuffer, 0, 4);
		
		string MimiBase64 = Convert.ToBase64String (gzBuffer);
		File.WriteAllText (outfile, MimiBase64);
		
		Console.WriteLine ("Base64 string saved as "+outfile+"\n");
		//return Convert.ToBase64String (gzBuffer);
	}
开发者ID:Skons,项目名称:p0wnedShell,代码行数:26,代码来源:CompressString.cs

示例5: Page_Load

    private void Page_Load(object sender, System.EventArgs e)
    {
        // Recebe a QueryString "file"
        string file = Request.QueryString["file"];
        //Recebe as medidas p/ miniatura
        int width = Convert.ToInt32(Request.QueryString["w"]);
        int height = Convert.ToInt32(Request.QueryString["h"]);

        // cria o object imagem com o nome e camimho completo do arquivo
        System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath("../ImgCaptura/"+file));

        // cria o thumbnail do object image, definindo sua altura e largura para 64
        System.Drawing.Image thumbnailImage = image.GetThumbnailImage(width, height, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);

        // cria a memory stream para trabalhar com os bytes da imagem
        MemoryStream imageStream = new MemoryStream();

        // coloca a imagem na memory stream
        thumbnailImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);

        // cria um array de bytes com o tamanho da imagem
        byte[] imageContent = new Byte[imageStream.Length];

        // rebobina a memory stream
        imageStream.Position = 0;

        // carrega o array de bytes com a imagem
        imageStream.Read(imageContent, 0, (int)imageStream.Length);

        // modifica o cabeçalho "content-type" da página para "image/jpeg" e imprime a imagem.
        Response.ContentType = "image/jpeg";
        Response.BinaryWrite(imageContent);
    }
开发者ID:danygolden,项目名称:gianfratti,代码行数:33,代码来源:getThumbnail.aspx.cs

示例6: WriteWithEncoding

    public static void WriteWithEncoding()
    {
        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

        XmlWriterSettings settings = new XmlWriterSettings();
        settings.OmitXmlDeclaration = true;
        settings.ConformanceLevel = ConformanceLevel.Fragment;
        settings.CloseOutput = false;
        settings.Encoding = Encoding.GetEncoding("Windows-1252");
        MemoryStream strm = new MemoryStream();

        using (XmlWriter writer = XmlWriter.Create(strm, settings))
        {
            writer.WriteElementString("orderID", "1-456-ab\u0661");
            writer.WriteElementString("orderID", "2-36-00a\uD800\uDC00\uD801\uDC01");
            writer.Flush();
        }

        strm.Seek(0, SeekOrigin.Begin);
        byte[] bytes = new byte[strm.Length];
        int bytesCount = strm.Read(bytes, 0, (int)strm.Length);
        string s = settings.Encoding.GetString(bytes, 0, bytesCount);

        Assert.Equal("<orderID>1-456-ab&#x661;</orderID><orderID>2-36-00a&#x10000;&#x10401;</orderID>", s);
    }
开发者ID:johnhhm,项目名称:corefx,代码行数:25,代码来源:WriteWithEncoding.cs

示例7: Encrypt

 /// <summary>
 /// Encrypt some text and return an encrypted byte array.
 /// </summary>
 /// <param name="TextValue">The Text to encrypt</param>
 /// <returns>byte[] of the encrypted value</returns>
 public byte[] Encrypt(string TextValue)
 {
     //Translates our text value into a byte array.
     Byte[] bytes = UTFEncoder.GetBytes(TextValue);
     //Used to stream the data in and out of the CryptoStream.
     MemoryStream memoryStream = new MemoryStream();
     /*
     * We will have to write the unencrypted bytes to the
     * stream, then read the encrypted result back from the
     * stream.
     */
     #region Write the decrypted value to the encryption stream
     CryptoStream cs = new CryptoStream(memoryStream,
     EncryptorTransform, CryptoStreamMode.Write);
     cs.Write(bytes, 0, bytes.Length);
     cs.FlushFinalBlock();
     #endregion
     #region Read encrypted value back out of the stream
     memoryStream.Position = 0;
     byte[] encrypted = new byte[memoryStream.Length];
     memoryStream.Read(encrypted, 0, encrypted.Length);
     #endregion
     //Clean up.
     cs.Close();
     memoryStream.Close();
     return encrypted;
 }
开发者ID:peelybird,项目名称:Beetree.AESCrypto,代码行数:32,代码来源:SimpleAES.cs

示例8: TryDecrypt

    public bool TryDecrypt(string encryptedItem, string password, out string decryptedItem)
    {
        if (string.IsNullOrEmpty (encryptedItem) ||
            string.IsNullOrEmpty (password)) {
            decryptedItem = "";
            return false;
        }

        try {
            byte[] cipherBytes = Convert.FromBase64String (encryptedItem);

            using (var memoryStream = new MemoryStream(cipherBytes)) {
                var des = new DESCryptoServiceProvider ();

                byte[] iv = new byte[8];
                memoryStream.Read (iv, 0, iv.Length);

                var rfc2898DeriveBytes = new Rfc2898DeriveBytes (password, iv, ITERATIONS);

                byte[] key = rfc2898DeriveBytes.GetBytes (8);

                using (var cryptoStream = new CryptoStream(memoryStream, des.CreateDecryptor(key, iv), CryptoStreamMode.Read))
                using (var streamReader = new StreamReader(cryptoStream)) {
                    decryptedItem = streamReader.ReadToEnd ();
                    return true;
                }
            }
        } catch (Exception ex) {
            Logger.instance.Log (new Logger.Message (this, ex));

            decryptedItem = "";
            return false;
        }
    }
开发者ID:GandhiGames,项目名称:encrypted_storage_unity,代码行数:34,代码来源:DESEncryption.cs

示例9: BitMapToByte

    /// <summary>
    /// BitMap转换成二进制
    /// </summary>
    /// <param name="bitmap"></param>
    /// <returns></returns>
    public static byte[] BitMapToByte(Bitmap bitmap)
    {
        //List<byte[]> list = new List<byte[]>();
        MemoryStream ms = null;
        byte[] imgData = null;

        ///重新绘图并指定大小
        int destWidth = 794;
        int destHight = 1122;

        Bitmap newBitmap = new Bitmap(destWidth, destHight);
        using(Graphics g=Graphics.FromImage((Image)newBitmap))
        {
            g.InterpolationMode = InterpolationMode.HighQualityBicubic;
            g.SmoothingMode = SmoothingMode.AntiAlias;
            g.CompositingQuality = CompositingQuality.HighQuality;
            g.DrawImage((Image)bitmap, 0, 0, destWidth, destHight);
            g.Dispose();
        }

        ///

        using (ms = new MemoryStream())
        {
            newBitmap.Save(ms, ImageFormat.Jpeg);
            ms.Position = 0;
            imgData = new byte[ms.Length];
            ms.Read(imgData, 0, Convert.ToInt32(ms.Length));
            ms.Flush();
        }
        //list.Add(imgData);
        return imgData;
    }
开发者ID:hkis,项目名称:octopus,代码行数:38,代码来源:ImageTools.cs

示例10: Page_Load

    private void Page_Load(object sender, System.EventArgs e)
    {
        // get the file name -- fall800.jpg
        string file = Request.QueryString["file"];

        // create an image object, using the filename we just retrieved
        System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(file));

        // create the actual thumbnail image
        System.Drawing.Image thumbnailImage = image.GetThumbnailImage(100, 100, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);

        // make a memory stream to work with the image bytes
        MemoryStream imageStream = new MemoryStream();

        // put the image into the memory stream
        thumbnailImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);

        // make byte array the same size as the image
        byte[] imageContent = new Byte[imageStream.Length];

        // rewind the memory stream
        imageStream.Position = 0;

        // load the byte array with the image
        imageStream.Read(imageContent, 0, (int)imageStream.Length);

        // return byte array to caller with image type
        Response.ContentType = "image/jpeg";
        Response.BinaryWrite(imageContent);
    }
开发者ID:samucaguimaraes,项目名称:sigeor,代码行数:30,代码来源:Thumb.aspx.cs

示例11: GetMultipartFormData

 private static byte[] GetMultipartFormData(Dictionary<string, object> postParameters, string boundary)
 {
     Stream stream = new MemoryStream();
     bool flag = false;
     foreach (KeyValuePair<string, object> pair in postParameters)
     {
         if (flag)
         {
             stream.Write(encoding.GetBytes("\r\n"), 0, encoding.GetByteCount("\r\n"));
         }
         flag = true;
         if (pair.Value is FileParameter)
         {
             FileParameter parameter = (FileParameter)pair.Value;
             object[] args = new object[] { boundary, pair.Key, parameter.FileName ?? pair.Key, parameter.ContentType ?? "application/octet-stream" };
             string str = string.Format("--{0}\r\nContent-Disposition: form-data; name=\"{1}\"; filename=\"{2}\";\r\nContent-Type: {3}\r\n\r\n", args);
             stream.Write(encoding.GetBytes(str), 0, encoding.GetByteCount(str));
             stream.Write(parameter.File, 0, parameter.File.Length);
         }
         else
         {
             string str2 = string.Format("--{0}\r\nContent-Disposition: form-data; name=\"{1}\"\r\n\r\n{2}", boundary, pair.Key, pair.Value);
             stream.Write(encoding.GetBytes(str2), 0, encoding.GetByteCount(str2));
         }
     }
     string s = "\r\n--" + boundary + "--\r\n";
     stream.Write(encoding.GetBytes(s), 0, encoding.GetByteCount(s));
     stream.Position = 0L;
     byte[] buffer = new byte[stream.Length];
     stream.Read(buffer, 0, buffer.Length);
     stream.Close();
     return buffer;
 }
开发者ID:Kakarot1925,项目名称:CrackDealer,代码行数:33,代码来源:FormUpload.cs

示例12: Object2String

    public string Object2String(object o)
    {
        if (o == null) return null;

        MemoryStream ms = new MemoryStream();
        bf.Serialize(ms, o);
        ms.Flush();
        ms.Position = 0;

        byte[] data = new byte[ms.Length];
        ms.Read(data, 0, data.Length);
        ms.Close();

        MemoryStream stream = new MemoryStream();
        sf.Serialize(stream, data);
        stream.Flush();
        stream.Position = 0;

        StreamReader sr = new StreamReader(stream);
        string str = sr.ReadToEnd();
        sr.Close();
        stream.Close();

        return str;
    }
开发者ID:lakeli,项目名称:shizong,代码行数:25,代码来源:Searializer.cs

示例13: SerializeToLocalStorage

        public static void SerializeToLocalStorage(this object value, string fullPath)
        {
            if (value == null)
                throw (new ArgumentNullException("Value cannot be NULL.", "value"));

            string file = null;
            string[] paths = fullPath.Split('\\');

            if (paths.Length < 1 || string.IsNullOrWhiteSpace(paths[0]))
                throw (new ArgumentException("This is not a valid path for LocalStorage.", "filename"));

            file = paths[paths.Length - 1];
            
            MemoryStream stream = new MemoryStream();
            
            DataContractSerializer serializer = new DataContractSerializer(value.GetType());
            serializer.WriteObject(stream, value);
            stream.Seek(0, SeekOrigin.Begin);

            byte[] buffer = new byte[stream.Length];
            stream.Read(buffer, 0, (int)stream.Length);

            File.WriteAllBytes(fullPath, buffer);

            stream.Flush();
            stream.Close();
        }
开发者ID:loic-lavergne,项目名称:mckineap,代码行数:27,代码来源:System.IO.IsolatedStorage.cs

示例14: brnSendEmail_Click

    protected void brnSendEmail_Click(object sender, EventArgs e)
    {
        // prepare the mail message
        MailMessage msg = new MailMessage();
        msg.From = new MailAddress(txtFrom.Text);
        msg.To.Add(new MailAddress(txtTo.Text));
        msg.Subject = txtSubject.Text;
        msg.TextBody = txtTextBody.Text;

        // save in the specified format
        MailMessageSaveType msgFormat = MailMessageSaveType.OutlookMessageFormat;
        // create MapiMessage
        MapiMessage mapiMsg = MapiMessage.FromMailMessage(msg);

        // set draft status
        mapiMsg.SetMessageFlags(MapiMessageFlags.MSGFLAG_UNSENT);

        // save to stream
        MemoryStream stream = new MemoryStream();
        mapiMsg.Save(stream);
        stream.Position = 0;

        // send the stream to browser
        byte[] msgBytes = new byte[stream.Length];
        stream.Read(msgBytes, 0, (int)stream.Length);

        Response.Clear();
        Response.Buffer = true;
        Response.AddHeader("Content-Length", msgBytes.Length.ToString());
        Response.AddHeader("Content-Disposition", "attachment; filename=Message.msg");
        Response.ContentType = "application/octet-stream";
        Response.BinaryWrite(msgBytes);
        Response.End();
    }
开发者ID:williamesharp,项目名称:Aspose_Email_NET,代码行数:34,代码来源:Create-Msg-Draft-Status.aspx.cs

示例15: DecodeLzma

 private static byte[] DecodeLzma(byte[] lzmaByteArray)
 {
     byte[] result = null;
     Decoder decoder = new Decoder();
     using (MemoryStream memoryStream = new MemoryStream(lzmaByteArray))
     {
         memoryStream.Seek(0L, SeekOrigin.Begin);
         using (MemoryStream memoryStream2 = new MemoryStream())
         {
             byte[] array = new byte[5];
             if (memoryStream.Read(array, 0, 5) != 5)
             {
                 throw new Exception("input .lzma is too short");
             }
             long num = 0L;
             for (int i = 0; i < 8; i++)
             {
                 int num2 = memoryStream.ReadByte();
                 if (num2 < 0)
                 {
                     throw new Exception("Can't Read 1");
                 }
                 num |= (long)((long)((ulong)((byte)num2)) << 8 * i);
             }
             decoder.SetDecoderProperties(array);
             long inSize = memoryStream.Length - memoryStream.Position;
             decoder.Code(memoryStream, memoryStream2, inSize, num, null);
             result = memoryStream2.ToArray();
         }
     }
     return result;
 }
开发者ID:softbreakers,项目名称:setup_soma_code,代码行数:32,代码来源:DecodeDeserializeUtils.cs


注:本文中的MemoryStream.Read方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。