欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java如何实现图片转化为数据流

程序员文章站 2022-03-02 18:42:07
目录实现图片转化为数据流方法如下使用方法如下把图片转换成二进制流的代码java中如何把图片转换成二进制流的代码从sqlserver数据库读取image类型的数据实现图片转化为数据流方法如下/** *...

实现图片转化为数据流

方法如下

/**
	 * copy file from inputstream
	 * 
	 * @param is
	 * @param f2
	 * @throws exception
	 */
	public static void copyfilefrominputstream( inputstream is, file f2 ) throws exception {
		int length = 2097152;
		fileoutputstream out = new fileoutputstream( f2 );
		byte[] buffer = new byte[length];
		while (true) {
			int ins = is.read( buffer );
			if ( ins == -1 ) {
				is.close( );
				out.flush( );
				out.close( );
				break;
			}
			out.write( buffer , 0 , ins );
		}
	}

使用方法如下

string image =   "xxx.jpg";
file imagefile= new file(system.getproperty("java.io.tmpdir"), image); //system.getproperty("java.io.tmpdir")是获取操作系统缓存的临时目录
copyfilefrominputstream(xxxx.class.getresourceasstream("images/" + image),imagefile);
// 系统会读取xxx.class路径中images文件夹下的xxx.jpg文件,将其转换为数据流

把图片转换成二进制流的代码

在学习期间,把开发过程经常用到的一些代码段做个备份,下边代码内容是

java中如何把图片转换成二进制流的代码

应该能对各朋友也有用处

public byte[] setimagetobytearray(string filename)
{ filestream fs = new filestream(filename, filemode.open);
int streamlength = (int)fs.length; byte[] image = new byte[streamlength];
fs.read(image, 0, streamlength);
fs.close();
return image; }
public byte[]
setimagetobytearray(fileupload fileupload1)
{ stream stream = fileupload1.postedfile.inputstream;
byte[] photo = new byte[fileupload1.postedfile.contentlength];
stream.read(photo, 0, fileupload1.postedfile.contentlength);
stream.close();
return photo;
}

从sqlserver数据库读取image类型的数据

并转换成bytes[]或image图像文件

{ image image; memorystream mymemorystream = new memorystream(mybyte,0, mybyte.length);
image = image.fromstream(mymemorystream);
return image;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。