memorystream

时间:2025-01-13 18:57:27编辑:阿奇

请教FileStream 如何转换为 MemoryStream-CSDN论坛

你好。using(FileStream fs = File.OpenRead(filePath)){ int length = (int)fs.Length; byte[] data = new byte[length]; fs.Position = 0; fs.Read(data, 0, length); MemoryStream ms = new MemoryStream(data);}还可以直接用 File.ReadAllBytes(filePath) 这样更简单。byte[] data = File.ReadAllBytes(filePath);MemoryStream ms = new MemoryStream(data);如果我的回答没能帮助您,请继续追问。


如何将一个MemeryStream转换成FileStream?

static public void Main(String []args)
{
string t="hello world";
MemoryStream m = new MemoryStream();
byte[] tb = Encoding.UTF8.GetBytes(t);
m.Write(tb,0,tb.Length);
Attachment at = new Attachment(m,"test.txt");
Console.ReadKey();
}

MemoryStream是完全可以添加到Attachment的。只要使用恰当。
不需要用FileStream。


如何释放Python占用的内存

象的引用计数减少;

函数运行结束,所有局部变量都被销毁,对象的引用计数也就随之减少。例如 foo(x) 运行结束,x 被销毁;
当变量被赋值给另一个对象时,原对象的引用计数也会减少。例如 x = 4,这时候 3 这个对象的引用计数就减 1 了;

使用 del 删除一个变量也会导致对象引用减少。例如 del x;

对象从集合对象中移除。例如 lst.remove(x);

包含对象的集合对象被销毁。例如 del lst;
这些操作都可能使对象变成垃圾回收对象,由垃圾收集器负责收集,当然垃圾收集器也负责处理循环引用对象。
要立即释放,可以使用下面的代码
import gc
gc.collect()


DataTable导出到Excel,用MemoryStream好还是不用MemoryStream好?为什么?

MemoryStream 是一个特例,MemoryStream中没有任何非托管资源,所以它的Dispose不调用也没关系。托管资源.Net会自动回收
MemoryStream继承自Stream类。内存流的好处是指针可以晃来晃去,也就是支CanSeek,Position,Seek()。任意读其中一段。

按你的要求到处到Excel的话就有点多余了,DATATABLE导出EXCEL文件,普通的做法一般是创建一个XLS的对象,然后直接循环填入即可。 投机取消的呢,直接存为CSV格式,也是可以的。
又或者追求速度和方便可以考虑用excellaibery这样的插件来导出。 更简单。
http://my.oschina.net/hellokity/blog/10120


上一篇:莫言讲故事

下一篇:没有了