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定时任务Timer、TimerTask与ScheduledThreadPoolExecutor详解

    Java定时任务Timer、TimerTask与ScheduledThreadPoolExecutor详解

    这篇文章主要介绍了Java定时任务Timer、TimerTask与ScheduledThreadPoolExecutor详解,  定时任务就是在指定时间执行程序,或周期性执行计划任务,Java中实现定时任务的方法有很多,本文从从JDK自带的一些方法来实现定时任务的需求,需要的朋友可以参考下
    2024-01-01
  • Java中的运算符你知道多少

    Java中的运算符你知道多少

    这篇文章主要为大家详细介绍了Java中的运算符,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • IDEA中Services栏不显示的解决方案小结

    IDEA中Services栏不显示的解决方案小结

    正常编译完一个SpringBoot或者SringCloud项目之后,Services都会显示出你有哪些服务,如果没有services栏怎么解决呢?下面小编给大家分享IDEA中Services栏不显示的解决方案小结,感兴趣的朋友一起看看吧
    2021-08-08
  • JAVA对字符串进行32位MD5加密的实践

    JAVA对字符串进行32位MD5加密的实践

    本文主要介绍了JAVA对字符串进行32位MD5加密的实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Mybatis注解方式完成输入参数为list的SQL语句拼接方式

    Mybatis注解方式完成输入参数为list的SQL语句拼接方式

    这篇文章主要介绍了Mybatis注解方式完成输入参数为list的SQL语句拼接方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Mybatis传递多个参数进行SQL查询的用法

    Mybatis传递多个参数进行SQL查询的用法

    本文给大家介绍Mybatis传递多个参数进行SQL查询的用法的相关知识,本文还给大家介绍了mybatis通过Map传递多个参数和JavaBean传递多个参数,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-06-06
  • mybatis一对多两种mapper写法实例

    mybatis一对多两种mapper写法实例

    这篇文章主要介绍了mybatis一对多两种mapper写法实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • java动态口令登录实现过程详解

    java动态口令登录实现过程详解

    这篇文章主要介绍了java动态口令登录实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Java运算符>、>>、>>>三者的区别

    Java运算符>、>>、>>>三者的区别

    这篇文章主要介绍了Java运算符>、>>、>>>三者的区别,做了一个简单的对比,并用实例说明,需要的朋友可以参考下
    2014-06-06
  • Intellij IDEA基于Springboot的远程调试(图文)

    Intellij IDEA基于Springboot的远程调试(图文)

    这篇文章主要介绍了Intellij IDEA基于Springboot的远程调试(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10

最新评论