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

2025-02-27 11:34:33
推荐回答(3个)
回答1:

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

这个是文件流
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中,是后面读取之后?

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

具体情况给我多点信息

回答2:

直接用内存流.
在你的另外一个问题里面我已经回答过了

System.IO.MemoryStream ls = new System.IO.MemoryStream(imagedata); //把byte[]载入流
Image img = Image.FromStream(ls); //流保存成image
this.pictureBox1.Image = img;

回答3:

方法如下:

 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);
                        }
 
                    }
                }