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

 更新时间:2022年01月29日 11:30:12   作者:剑雪风猴  
这篇文章主要介绍了java如何实现图片转化为数据流,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

实现图片转化为数据流

方法如下

/**
	 * 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;
}

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

相关文章

  • 解析Java格式字符串的使用

    解析Java格式字符串的使用

    本文通过实例给大家介绍了java格式字符串的使用,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-02-02
  • Java 实战项目之精美物流管理系统的实现流程

    Java 实战项目之精美物流管理系统的实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SpringBoot+Vue+maven+Mysql实现一个精美的物流管理系统,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • eclipse修改maven仓库位置的方法实现

    eclipse修改maven仓库位置的方法实现

    本文主要介绍了eclipse修改maven仓库位置的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 解析Java并发Exchanger的使用

    解析Java并发Exchanger的使用

    Exchanger是java 5引入的并发类,Exchanger顾名思义就是用来做交换的。这里主要是两个线程之间交换持有的对象。当Exchanger在一个线程中调用exchange方法之后,会等待另外的线程调用同样的exchange方法。两个线程都调用exchange方法之后,传入的参数就会交换。
    2021-06-06
  • Java对象的序列化与反序列化详解

    Java对象的序列化与反序列化详解

    这篇文章主要为大家详细介绍了Java对象的序列化与反序列化的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Springboot基础学习之初识SpringBoot

    Springboot基础学习之初识SpringBoot

    今天带大家学习Springboot基础知识,文中有非常详细的图文解说及代码示例,对正在学习java基础的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • Java 自定义错误类示例代码

    Java 自定义错误类示例代码

    以下是对Java中自定义错误类的示例代码进行了介绍。需要的朋友可以过来参考下
    2013-08-08
  • servlet3新特性_动力节点Java学院整理

    servlet3新特性_动力节点Java学院整理

    这篇文章主要为大家详细介绍了servlet3新特性的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Java8中Optional的使用方法详解

    Java8中Optional的使用方法详解

    这篇文章主要介绍了Java8中Optional的使用方法详解,传统的写代码方式经常会遇到NullPointerException,这就需要我们在代码中经常判空,而判空的写法又会显得很累赘,这里就可以用到Optional来简化代码,需要的朋友可以参考下
    2024-01-01
  • Springboot+WebSocket+Netty实现在线聊天/群聊系统

    Springboot+WebSocket+Netty实现在线聊天/群聊系统

    这篇文章主要实现在好友添加、建群、聊天对话、群聊功能,使用Java作为后端语言进行支持,界面友好,开发简单,文章中有详细的代码示例供大家参考,需要的朋友可以参考下
    2023-08-08

最新评论