Java 圖片與byte數(shù)組互相轉(zhuǎn)換實例
實例如下:
//圖片到byte數(shù)組
public byte[] image2byte(String path){
byte[] data = null;
FileImageInputStream input = null;
try {
input = new FileImageInputStream(new File(path));
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int numBytesRead = 0;
while ((numBytesRead = input.read(buf)) != -1) {
output.write(buf, 0, numBytesRead);
}
data = output.toByteArray();
output.close();
input.close();
}
catch (FileNotFoundException ex1) {
ex1.printStackTrace();
}
catch (IOException ex1) {
ex1.printStackTrace();
}
return data;
}
//byte數(shù)組到圖片
public void byte2image(byte[] data,String path){
if(data.length<3||path.equals("")) return;
try{
FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));
imageOutput.write(data, 0, data.length);
imageOutput.close();
System.out.println("Make Picture success,Please find image in " + path);
} catch(Exception ex) {
System.out.println("Exception: " + ex);
ex.printStackTrace();
}
}
//byte數(shù)組到16進制字符串
public String byte2string(byte[] data){
if(data==null||data.length<=1) return "0x";
if(data.length>200000) return "0x";
StringBuffer sb = new StringBuffer();
int buf[] = new int[data.length];
//byte數(shù)組轉(zhuǎn)化成十進制
for(int k=0;k<data.length;k++){
buf[k] = data[k]<0?(data[k]+256):(data[k]);
}
//十進制轉(zhuǎn)化成十六進制
for(int k=0;k<buf.length;k++){
if(buf[k]<16) sb.append("0"+Integer.toHexString(buf[k]));
else sb.append(Integer.toHexString(buf[k]));
}
return "0x"+sb.toString().toUpperCase();
}
文件解析:
FileImageOutputStream 換成了 FileOutputStream
FileImageInputStream 換成 FileInputStream
以上這篇Java 圖片與byte數(shù)組互相轉(zhuǎn)換實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Java任意長度byte數(shù)組轉(zhuǎn)換為int數(shù)組的方法
- java對象轉(zhuǎn)成byte數(shù)組的3種方法
- java中兩個byte數(shù)組實現(xiàn)合并的示例
- Java整型數(shù)與網(wǎng)絡(luò)字節(jié)序byte[]數(shù)組轉(zhuǎn)換關(guān)系詳解
- Java中byte、byte數(shù)組與int、long的轉(zhuǎn)換詳解
- Java 字節(jié)數(shù)組類型(byte[])與int類型互轉(zhuǎn)方法
- Java中字符串與byte數(shù)組之間的相互轉(zhuǎn)換
- Java基本類型與byte數(shù)組之間相互轉(zhuǎn)換方法
- 基于java中byte數(shù)組與int類型的轉(zhuǎn)換(兩種方法)
- java byte數(shù)組與16進制間相互轉(zhuǎn)換的示例
相關(guān)文章
Springboot中Dependency not found解決方案
本文主要介紹了Springboot中Dependency not found解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11
Spring Boot應(yīng)用Docker化的步驟詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot應(yīng)用Docker化的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04
java發(fā)送http請求并獲取狀態(tài)碼的簡單實例
下面小編就為大家?guī)硪黄猨ava發(fā)送http請求并獲取狀態(tài)碼的簡單實例。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05
WIN7系統(tǒng)JavaEE(tomcat7 Eclipse)環(huán)境配置教程(二)
這篇文章主要介紹了WIN7系統(tǒng)JavaEE(java+tomcat7+Eclipse)環(huán)境配置教程,本文重點在于tomcat配置、Eclipse配置,感興趣的小伙伴們可以參考一下2016-06-06
springboot 異步調(diào)用的實現(xiàn)方法
這篇文章主要介紹了springboot 異步調(diào)用的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
SpringBoot整合Ip2region獲取IP地址和定位的詳細過程
ip2region v2.0 - 是一個離線IP地址定位庫和IP定位數(shù)據(jù)管理框架,10微秒級別的查詢效率,提供了眾多主流編程語言的 xdb 數(shù)據(jù)生成和查詢客戶端實現(xiàn) ,這篇文章主要介紹了SpringBoot整合Ip2region獲取IP地址和定位,需要的朋友可以參考下2023-06-06

