如何读取图片文件,并且放在一个byte数组当中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何读取图片文件,并且放在一个byte数组当中?相关的知识,希望对你有一定的参考价值。

如何读取图片文件,并且放在一个byte数组当中?

System.IO.FileStream stream = System.IO.File.Open(pFileName, System.IO.FileMode.Create, System.IO.FileAccess.Write);//pFileName是你的图片路径

System.IO.MemoryStream _memory = new System.IO.MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(_memory, pObj);
_memory.Position = 0;
byte[] read = new byte[_memory.Length];
_memory.Read(read, 0, read.Length);
_memory.Close();

read就是你要的了
参考技术A byte[] buffer = System.IO.File.ReadAllBytes("图片路径");

简单明了,不需要使用FileStream类,没别的要求的话。
参考技术B 图片多数是将图片存储在一个位置,而数据库里存储的的是这些图片的位置.
非要放的话我这儿没有头绪.

PS...楼下的代码可行.已经试验.
参考技术C FileStream
看看system.IO命名空间下的一些类。
参考技术D 你可以看一下这个~~网上找的
如何加速GDI+处理图片速度?
http://www.itstrike.cn/Home/Article/How-to-accelerate-the-speed-of-GDI-to-deal-with-pictures

参考资料:http://www.itstrike.cn/Home/Article/How-to-accelerate-the-speed-of-GDI-to-deal-with-pictures

java:通过设置byte数组的大小来进行数据的读写的时候出现写入的文件内容和读取的文件内容不符怎么办

while (fis.read(b)> -1)
fos.write(b);//b是一个byte数组,大小1024

程序运行后,写入的文件内容后面一部分(最后一次读取1024个字节)重复了,如何解决这个问题

参考技术A int len = 0;

while (-1 != (len = fis.read(b)) )
fos.write(b,0,len);//b是一个byte数组,大小1024
本回答被提问者和网友采纳

以上是关于如何读取图片文件,并且放在一个byte数组当中?的主要内容,如果未能解决你的问题,请参考以下文章

java:通过设置byte数组的大小来进行数据的读写的时候出现写入的文件内容和读取的文件内容不符怎么办

在java中如何把字节数组存储到数据库?

VB 如何获取屏幕图片数据保存在一个二进制数组里面?

java中,ImputStream类中的read(byte []b)方法

asp.net中如何保存图片对象

java的byte数组最多存储多少字节?只用FileInputStream读取文件和只用FileOutputStream写入文件会出问题吗