C#怎样将数组作为文件流保存起来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#怎样将数组作为文件流保存起来相关的知识,希望对你有一定的参考价值。

比如,一个数组byte[]imagedata中存有一些数据13,31,234,32...等等,它是由一个图像文件通过文件流ms转化过来的:
imagedata = ms.GetBuffer();
现在我想把它显示在保存在一个默认的目录下,并显示在picturebox中,应该怎么做?

我写一段测试代码给你
你等下帮我测试下
文件操作有意思
不行记得告诉我我好改下

这个是文件流
static void Main(string[] args)

byte[] b=new byte[10];
using (FileStream fs = new FileStream("1.bin", FileMode.Create, FileAccess.Write))

using (BinaryWriter bw = new BinaryWriter(fs))

bw.Write(b); //这个是写入数组的


byte[] i;
using (FileStream fs = new FileStream("1.jpg", FileMode.Open, FileAccess.Read))

using (BinaryReader br = new BinaryReader(fs))


i = br.ReadBytes((int)fs.Length); //这个是读取一个数组的



Image image;
using (FileStream fs = new FileStream("1.jpg", FileMode.Open, FileAccess.Read))

image = Image.FromStream(fs); //这个是加载我的图形文件的

Console.WriteLine(image.Height + " " + image.Width);

不过你后面说的显示在picturebox中,是后面读取之后?

这个是比较简单的办法,具体你说的默认目录,你再和我说下,文件操作我想办法帮你写好

具体情况给我多点信息
参考技术A 直接用内存流.
在你的另外一个问题里面我已经回答过了

System.IO.MemoryStream ls = new System.IO.MemoryStream(imagedata); //把byte[]载入流
Image img = Image.FromStream(ls); //流保存成image
this.pictureBox1.Image = img;本回答被提问者采纳
参考技术B

方法如下:

 Byte[][] results;
                try
                
                    results = rp.GetPrintFile(His.ReportPrinter.FileType.PDF, @"/ReportDeom/spgdemo2鞋面预补", para);
                    using (FileStream stream = File.OpenWrite(fileName))
                    
                        //stream.Write(results, 0, results.Length);
 
                        for (int i = 0; i < results.Length;i++ )
                        
                            stream.Write(results[i], 0, results[i].Length);
                        
 
                    
                

C#:将位图图像流转换为 avi 文件

【中文标题】C#:将位图图像流转换为 avi 文件【英文标题】:C#: convert a stream of bitmap images to avi file 【发布时间】:2013-05-12 20:31:22 【问题描述】:

我的应用程序以 30 fps 的速率从外部设备接收图像序列 (BitmapImage)。

我需要从这些图像中创建一个 avi 文件,然后将其保存在文件系统中。我怎样才能得到这个结果?我可以为此目的使用任何 C# 库吗?

【问题讨论】:

【参考方案1】:

查看我为我的项目编写的SharpAvi 库。它支持大文件大小(没有 2GB 限制)。

【讨论】:

SharpAvi 使用 Microsoft.Contracts。【参考方案2】:

查看 Aforge.Net 的 AVIWriter 类。

【讨论】:

AForge 是 GPL/LGPL 许可证系列。当心!

以上是关于C#怎样将数组作为文件流保存起来的主要内容,如果未能解决你的问题,请参考以下文章

C#将文件转成16进制码流写入数据库存起来,访问的时候再还原成PDF文件。

从流创建虚拟文件路径

用c#怎样从服务器下载文件,并保存为相应的类型

关于c++文件流读入和写入的问题

C# - 将数据写入流 + 使用另一个流读取数据

可以将 Byte[] 数组写入 C# 中的文件吗?