标签: memorystream

你如何从MemoryStream中获取字符串?

如果我得到一个MemoryStream我知道已经填充了一个String,我怎么得到String退出?

.net vb.net string memorystream

509
推荐指数
10
解决办法
41万
查看次数

将MemoryStream保存并加载到文件中

我正在将结构序列化为a MemoryStream,我想保存并加载序列化结构.

那么,如何将MemoryStream文件保存到文件中并将其从文件中加载回来?

c# io memorystream file stream

264
推荐指数
7
解决办法
54万
查看次数

如果.NET中的MemoryStream未关闭,是否会创建内存泄漏?

我有以下代码:

MemoryStream foo(){
    MemoryStream ms = new MemoryStream();
    // write stuff to ms
    return ms;
}

void bar(){
    MemoryStream ms2 = foo();
    // do stuff with ms2
    return;
}
Run Code Online (Sandbox Code Playgroud)

我分配的MemoryStream是否有可能以后不能被处理掉?

我有一个同行评审坚持我手动关闭它,我找不到信息来判断他是否有一个有效点.

.net c# memory-leaks memorystream

108
推荐指数
6
解决办法
7万
查看次数

将MemoryStream中的文件附加到C#中的MailMessage

我正在编写一个程序来将文件附加到电子邮件中.目前我正在使用FileStream磁盘保存文件,然后我使用

System.Net.Mail.MailMessage.Attachments.Add(
    new System.Net.Mail.Attachment("file name")); 
Run Code Online (Sandbox Code Playgroud)

我不想将文件存储在磁盘中,我想将文件存储在内存中,并从内存流传递给它Attachment.

c# email smtp memorystream

105
推荐指数
5
解决办法
15万
查看次数

如何从.NET中的Stream获取MemoryStream?

我有以下构造方法MemoryStream从文件路径打开一个:

MemoryStream _ms;

public MyClass(string filePath)
{
    byte[] docBytes = File.ReadAllBytes(filePath);
    _ms = new MemoryStream();
    _ms.Write(docBytes, 0, docBytes.Length);
}
Run Code Online (Sandbox Code Playgroud)

我需要更改它以接受Stream而不是文件路径.什么是最简单/最有效的方法来MemoryStreamStream对象获取?

.net c# file-io memorystream stream

60
推荐指数
4
解决办法
10万
查看次数

内存流和文件流之间的差异

在序列化期间,我们可以使用内存流或文件流.

这两者之间的基本区别是什么?记忆流意味着什么?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization.Formatters.Binary;

namespace Serilization
{
    class Program
    {
        static void Main(string[] args)
        {
            MemoryStream aStream = new MemoryStream();
            BinaryFormatter aBinaryFormat = new BinaryFormatter();
            aBinaryFormat.Serialize(aStream, person);
            aStream.Close();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# memorystream filestream

52
推荐指数
6
解决办法
8万
查看次数

重置或清除.NET MemoryStream

.NET MemoryStream似乎没有.Reset或.Clear方法.

我正在考虑使用以下代码来完成此任务:

ms.Seek(0, IO.SeekOrigin.Begin)
ms.SetLength(0)
Run Code Online (Sandbox Code Playgroud)

清除或重置现有.NET MemoryStream的正确方法是什么?

.net memorystream

48
推荐指数
3
解决办法
5万
查看次数

将MemoryStream复制到FileStream并保存文件?

我不明白我在这里做错了什么.我生成了几个内存流,在调试模式下,我看到它们已经填充.但是当我尝试复制MemoryStreamFileStream为了保存文件时fileStream没有填充文件并且文件长度为0bytes(空).

这是我的代码

if (file.ContentLength > 0)
{
    var bytes = ImageUploader.FilestreamToBytes(file); // bytes is populated

    using (var inStream = new MemoryStream(bytes)) // inStream is populated
    {
        using (var outStream = new MemoryStream())
        {
            using (var imageFactory = new ImageFactory())
            {
                imageFactory.Load(inStream)
                            .Resize(new Size(320, 0))
                            .Format(ImageFormat.Jpeg)
                            .Quality(70)
                            .Save(outStream);
            }

            // outStream is populated here

            var fileName = "test.jpg";

            using (var fileStream = new FileStream(Server.MapPath("~/content/u/") + fileName, FileMode.CreateNew, FileAccess.ReadWrite))
            {
                outStream.CopyTo(fileStream); // fileStream is not populated …
Run Code Online (Sandbox Code Playgroud)

c# memorystream file-upload filestream

39
推荐指数
3
解决办法
9万
查看次数

使用内存流进行序列化/反序列化

我在使用内存流进行序列化时遇到问题.这是我的代码:

/// <summary>
/// serializes the given object into memory stream
/// </summary>
/// <param name="objectType">the object to be serialized</param>
/// <returns>The serialized object as memory stream</returns>
public static MemoryStream SerializeToStream(object objectType)
{
    MemoryStream stream = new MemoryStream();
    IFormatter formatter = new BinaryFormatter();
    formatter.Serialize(stream, objectType);
    return stream;
}

/// <summary>
/// deserializes as an object
/// </summary>
/// <param name="stream">the stream to deserialize</param>
/// <returns>the deserialized object</returns>
public static object DeserializeFromStream(MemoryStream stream)
{
    IFormatter formatter = new BinaryFormatter();
    stream.Seek(0, SeekOrigin.Begin); …
Run Code Online (Sandbox Code Playgroud)

c# serialization memorystream deserialization

38
推荐指数
3
解决办法
12万
查看次数

从内存流读取到字符串

我正在尝试将对象写入Xml字符串并获取该字符串并将其保存到数据库中.但首先我需要得到字符串......

    private static readonly Encoding LocalEncoding = Encoding.UTF8;

    public static string SaveToString<T> (T settings)
    {
        Stream stream = null;
        TextWriter writer = null;
        string settingsString = null;

        try
        {
            stream = new MemoryStream();

            var serializer = new XmlSerializer(typeof(T));

            writer = new StreamWriter(stream, LocalEncoding);

            serializer.Serialize(writer, settings);

            var buffer = new byte[stream.Length];

            stream.Read(buffer, 0, (int)stream.Length);

            settingsString = LocalEncoding.GetString(buffer);
        }
        catch(Exception ex)
        {
            // If the action cancels we don't want to throw, just return null.
        }
        finally
        {
            if (stream != null) …
Run Code Online (Sandbox Code Playgroud)

c# memorystream xml-serialization xmlserializer

38
推荐指数
4
解决办法
12万
查看次数