开发者

How to scape from creating a FileStream everytime i want to save a file?

I have an application which i receive a stream every while to save it, so i want to create a global **FileStream** instead of creating every time i get a fil开发者_开发技巧e. Is there anyway to do that? (Is there any alternative to FileStream) can do this? because i already have a large object(LO) in my application which affected the the CLR performance. P.S: the incoming streams would be saved in different files(different file name) UPDATE: I alreay create it in using phrase but the GC.Collect is affected by the LO created in my application


If the streams need to be saved to different files i don't think there is a way of getting away from creating a new stream each time.


Having in mind what you wrote: " the incoming streams would be saved in different files" I would strongly suggest to not do that. Just create a new FileStream for every file and close as soon as you finished, as fast as you can.

Regards.


Have you tried System.IO.File.WriteAllBytes?

The FileStream object won't be very large in memory I don't think. When it flushes, the content is written to file.

To avoid touching the large object heap, you could use a List<byte[]> and chunk the bytes into predefined sizes.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜