package com.io.img;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import javax.imageio.stream.FileImageInputStream;
import javax.imageio.stream.FileImageOutputStream;
/**
* 将文件 转换成byte数组
*
* @author Administrator
*
*/
public class ImageByte {
public static byte[] imageByte(String path) {
// 定义byte数组
byte[] data = null;
ByteArrayOutputStream output = null;
// 定义fileimage输入流
FileImageInputStream input = null;
try {
input = new FileImageInputStream(new File(path));
// 获取byte输出流
output = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int numBytesRead = 0;
// 读取数据
while ((numBytesRead = input.read(buf)) != -1) {
output.write(buf, 0, numBytesRead);
}
// 转换byte数组
data = output.toByteArray();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (output != null)
try {
output.close();
} catch (IOException e1) {
e1.printStackTrace();
}
if (input != null)
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return data;
}
/**
* 将byte数组转换为img
*/
public static void byteImage(byte[] data,String path){
FileImageOutputStream imageOutput=null;
try{
//获取文件图片输出流
imageOutput = new FileImageOutputStream(new File(path));
//输出图片
imageOutput.write(data, 0, data.length);
System.out.println("图片存到了了" + path);
} catch(Exception ex) {
ex.printStackTrace();
}finally{
if(imageOutput!=null){
try {
imageOutput.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
String path = "E:\\my.png";
byte img[]=imageByte(path);
System.out.println(img);
byteImage(img, "F://test.png");
}
}
图片与byte[]相互转换
最新推荐文章于 2022-09-29 14:05:30 发布